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
查看全文
相关阅读:
mybatis做like模糊查询
mysql带有子查询的like查询
form表单提交,后台怎么获取select的值?后台直接获取即可,和input方式一样。
Spring MVC 向页面传值-Map、Model和ModelMap
JavaWeb登录、注销、退出、记住用户名和密码
EL表达式多条件或判断用法
三级分销会员一次查询出来的SQL语句
mysql 中合并查询结果union用法 or、in与union all 的查询效率
关于取List中的指定几条数据以及注意事项
BoxedApp Packer 将您的原始应用“打包”成单个完全的可执行二进制文件
原文地址:https://www.cnblogs.com/ruanbl/p/494905.html
最新文章
MonkeyDevcie API 实践全记录
白话经典算法系列之六 高速排序 高速搞定
lol匹配算法
grails一对多双向关联
eclipse+webservice开发实例
Wscript对象具体解释
不眠的硅谷
PageRank算法
报错截屏与信息截屏
java实现第七届蓝桥杯打靶
热门文章
java实现第七届蓝桥杯打靶
java实现第七届蓝桥杯打靶
java实现第七届蓝桥杯反幻方
java实现第七届蓝桥杯反幻方
java实现第七届蓝桥杯反幻方
java实现第七届蓝桥杯反幻方
java实现第七届蓝桥杯反幻方
java实现第七届蓝桥杯愤怒小鸟
java实现第七届蓝桥杯愤怒小鸟
关于mybatis中llike模糊查询中#和$的使用
Copyright © 2011-2022 走看看