如果数据库记录插入时间超过10分钟,则发送电子邮件

时间:2015-08-28 03:58:11

标签: sql sql-server-2008

我有SQL表存储处理作业的数据(不是SQL作业。我们系统中的作业)。如果特定工作超过10分钟而没有处理

,我想收到提醒

我有jobsubmittedtime的属性。 如果DateDiff(minutes,jobsubmittedtime,GETDATE())>10我想要电子邮件触发器

实现这一目标的最佳方式是什么?

1 个答案:

答案 0 :(得分:0)

尝试:

where jobsubmittedtime > DATEADD(MINUTE, -10, GETDATE())

这将允许查询根据范围扫描进行优化。

如果您改为写道:

where DATEDIFF(MINUTE, jobsubmittedtime, GETDATE()) > 10

然后SQL Server可以选择执行全表扫描以在每一行上运行该过程来计算DATEDIFF(),并且几乎与第一种方法一样有效。通常,尝试对常量和输入变量进行计算而不是行值。有时它是不可避免的,但你明白了。