【发布时间】:2019-06-04 18:18:41
【问题描述】:
我需要在满足日期条件后从 SQL Server 发送电子邮件,即在 DATE_FIN 的一小时后发送邮件
表格如下:
SELECT [ID_EVENTO]
,[FIRST NAME]
,[OBJECTIVE]
,[START DATE]
,[END DATE]
,[ID_LUGAR]
FROM [Events]. [Dbo]. [TBL_EVENTO]
首先我想用触发器来做这件事,但它变得越来越复杂......
你有什么建议?
【问题讨论】:
-
您是否考虑过使用 SQL 作业来检查您的日期/时间并让它按计划完成您需要的工作?或者这更像是在立即类型的事情上,比如在 INSERT 之后?
-
在INSERT之后,将记录保存到Events表时,邮件是在END_DATE后一小时发送的
-
从触发器发送电子邮件通常是个坏主意。我同意代理工作在这里听起来是正确的想法。 此外,触发器会发生在 DML 或 DDL 语句等事件上。触发器不会触发,因为表中的“值”与当前日期和时间的值相同;这似乎是您所追求的行为。
-
在你的情况下@SebastianSalazar,我会使用每 5、10、15 分钟运行一次的作业——无论你需要什么——检查那个一小时的窗口,然后发送电子邮件。您也可以查看 SERVICE BROKER,但是,这比您需要的更多。
标签: sql sql-server triggers