问题:
我想在插入表时编写触发器,我必须检查并向特定用户发送电子邮件。为此,我想使用一个触发器,将一些值插入另一个 QUEUE表。然后, QUEUE表中的触发器将获得前x个电子邮件数量并发送并循环,直到完成所有记录。因此,一旦调用触发器,当触发器处于工作状态时,可以插入 QUEUE表。因此触发器将等待并且每次插入到QUEUE表并且在当前运行的触发器完成之后。
问题:
我的方法是否正确。如果有更好的方法可以帮助我。如果一次又一次地触发触发器,这是一个设计问题吗?有没有办法在有一个正在运行的触发器时忽略触发器。
答案 0 :(得分:1)
我在这里建议的是,
1.在主表上创建一个触发器,因为当新记录插入主表时,将记录插入另一个表(QUEUE表)。
2.现在创建一个sproc,它将从队列表中选择前X行并发送电子邮件。
3.现在创建一个sql作业,它将定期执行上面创建的sproc。
4.在sproc中你可以像发送电子邮件一样处理,你可以从QUEUE表中删除这些记录或者用它们做些什么。