Triggers 当触发器仍在运行时,如何忽略触发器

Triggers 当触发器仍在运行时,如何忽略触发器,triggers,sql-server-2008-r2,Triggers,Sql Server 2008 R2,问题: 我想在插入表时编写触发器,我必须进行检查并向特定用户发送电子邮件。为此,我考虑使用一个触发器,将一些值插入另一个队列表。然后,队列表中的触发器将获取前x个电子邮件数量,并发送它们并循环,直到所有记录都完成。因此,一旦调用触发器,就可以在触发器工作时插入队列表。因此,触发器将等待并在每次插入队列表时以及当前正在运行的触发器完成后执行 问题: 我的方法是正确的。如果有更好的方法,有人能帮我吗。如果触发器一次又一次地触发,这是设计问题吗。有没有一种方法可以在触发器运行时忽略触发器。我在这里的建

问题:

我想在插入表时编写触发器,我必须进行检查并向特定用户发送电子邮件。为此,我考虑使用一个触发器,将一些值插入另一个队列表。然后,队列表中的触发器将获取前x个电子邮件数量,并发送它们并循环,直到所有记录都完成。因此,一旦调用触发器,就可以在触发器工作时插入队列表。因此,触发器将等待并在每次插入队列表时以及当前正在运行的触发器完成后执行

问题:


我的方法是正确的。如果有更好的方法,有人能帮我吗。如果触发器一次又一次地触发,这是设计问题吗。有没有一种方法可以在触发器运行时忽略触发器。

我在这里的建议是

1.在主表上创建触发器,因为在将新记录插入主表时,会将该记录插入另一个表(队列表)

2.现在创建一个存储过程,从队列表中选择前X行并发送电子邮件

3.现在创建一个sql作业,它将定期执行上面创建的存储过程


4.在存储过程中,您可以在发送电子邮件后处理这些记录,您可以从队列表中删除这些记录,也可以对它们进行处理。

好的,我已经考虑过Sql客户端作业。但我认为这个发送电子邮件存储过程将定期调用。但是,如果可以按照我的意图以其他方式实现,则在插入到表中的所有记录都完成后,存储过程将停止。是的,当有记录时,存储过程将恢复。这就是rite的支持方式?是的,您对答案有何评论?学习它可能会有回报。触发器将使用本机队列对邮件进行排队,而定时存储过程将读取消息并发送邮件。