zoukankan
html css js c++ java
cs_EmailQueue_Failure///cs_Emails_Dequeue///cs_Emails_Enqueue
cs_EmailQueue_Failure
ALTER
proc
dbo.cs_EmailQueue_Failure
@EmailID
uniqueidentifier
,
@FailureInterval
int
,
@MaxNumberOfTries
int
as
SET
Transaction
Isolation
Level
Read
UNCOMMITTED
/**/
/*
设置事务隔离级别,Read UNCOMMITTED 执行脏读或 0 级隔离锁定,这表示不发出共享锁,
也不接受排它锁。当设置该选项时,可以对数据执行未提交读或脏读;在事务结束前可以更
改数据内的数值,行也可以出现在数据集中或从数据集消失。该选项的作用与在事务内所有
语句中的所有表上设置 NOLOCK 相同。这是四个隔离级别中限制最小的级别。
*/
declare
@NumberOfTries
int
--
重试次数
select
@NumberOfTries
=
NumberOfTries
+
1
from
cs_EmailQueue
where
EmailID
=
@EmailID
if
@NumberOfTries
<=
@MaxNumberOfTries
begin
--
如果重试次数小于最大次数,更新重试次数和第二次重试次数
update
cs_EmailQueue
set
NumberOfTries
=
@NumberOfTries
,
NextTryTime
=
dateadd
(minute,
@NumberOfTries
*
@FailureInterval
,
getdate
())
where
EmailID
=
@EmailID
end
else
begin
--
如果重试次数超过限制,删除此条邮件
delete
from
cs_EmailQueue
where
EmailID
=
@EmailID
end
GO
cs_Emails_Dequeue
ALTER
PROCEDURE
[
dbo
]
.cs_Emails_Dequeue
(
@SettingsID
int
)
AS
SET
Transaction
Isolation
Level
Read
UNCOMMITTED
/**/
/*
设置事务隔离级别,Read UNCOMMITTED 执行脏读或 0 级隔离锁定,这表示不发出共享锁,
也不接受排它锁。当设置该选项时,可以对数据执行未提交读或脏读;在事务结束前可以更
改数据内的数值,行也可以出现在数据集中或从数据集消失。该选项的作用与在事务内所有
语句中的所有表上设置 NOLOCK 相同。这是四个隔离级别中限制最小的级别。
*/
BEGIN
SELECT
*
FROM
cs_EmailQueue
Where
SettingsID
=
@SettingsID
and
NextTryTime
<
getdate
()
END
/**/
/*
列出最后重试发送时间小于当前时间的所有邮件
*/
GO
cs_Emails_Enqueue
ALTER
PROCEDURE
[
dbo
]
.cs_Emails_Enqueue
(
@EmailTo
nvarchar
(
2000
),
@EmailCc
ntext
,
@EmailBcc
ntext
,
@EmailFrom
nvarchar
(
256
),
@EmailSubject
nvarchar
(
1024
),
@EmailBody
ntext
,
@EmailPriority
int
,
@EmailBodyFormat
int
,
@SettingsID
int
)
AS
SET
Transaction
Isolation
Level
Read
UNCOMMITTED
/**/
/*
设置事务隔离级别,Read UNCOMMITTED 执行脏读或 0 级隔离锁定,这表示不发出共享锁,
也不接受排它锁。当设置该选项时,可以对数据执行未提交读或脏读;在事务结束前可以更
改数据内的数值,行也可以出现在数据集中或从数据集消失。该选项的作用与在事务内所有
语句中的所有表上设置 NOLOCK 相同。这是四个隔离级别中限制最小的级别。
*/
BEGIN
INSERT
INTO
cs_EmailQueue
(
emailTo,
emailCc,
emailBcc,
EmailFrom,
EmailSubject,
EmailBody,
emailPriority,
emailBodyFormat,
SettingsID
)
VALUES
(
@EmailTo
,
@EmailCc
,
@EmailBcc
,
@EmailFrom
,
@EmailSubject
,
@EmailBody
,
@EmailPriority
,
@EmailBodyFormat
,
@SettingsID
)
/**/
/*
插入新的邮件到邮件队列中
*/
END
GO
查看全文
相关阅读:
雨课堂知识点总结(六)
软件构造雨课堂知识点总结(五)
软件构造雨课堂知识点总结(四)
软件构造雨课堂知识点总结(三)
0-N-0计数的优化写法
Nginx TP5环境配置
小程序跳转H5及其他页面
mysql中varchar类型和datetime类型字段进行比较
微信小程序开发者工具更新后报很多错误
php后台解决跨域
原文地址:https://www.cnblogs.com/ruanbl/p/494905.html
最新文章
Ticket Game【博弈】
【数位dp+状压】XHXJ 's LIS
The meaningless Game
【数位dp】CF 55D Beautiful numbers
Cheatsheet: 2014 07.01 ~ 07.31
Cheatsheet: 2014 06.01 ~ 06.30
Cheatsheet: 2014 05.01 ~ 05.31
Cheatsheet: 2014 04.01 ~ 04.30
Cheatsheet: 2014 03.01 ~ 03.31
Cheatsheet: 2014 02.01 ~ 02.28
热门文章
Cheatsheet: 2014 01.15 ~ 01.30
Cheatsheet: 2014 01.01 ~ 01.14
Cheatsheet: 2013 12.17 ~ 12.31
Error 18000 during outlook 2011 rebuild
雨课堂知识点总结(十二)
雨课堂知识点总结(十一)
雨课堂知识点总结(十)
雨课堂知识点总结(九)
雨课堂知识点总结(八)
雨课堂知识点总结(七)
Copyright © 2011-2022 走看看