【发布时间】:2011-04-27 05:27:17
【问题描述】:
我正在使用 SQL Server 2005...
我想使用触发器监视 table1 以进行更新。在此更新发生时,我将检查另一个表(table2),使用来自 table2 的数据,我将一个项目放入队列中,以便在未来的可变日期执行。可能是从现在开始的 10 秒,也可能是 2 小时,这个日期是通过检查表 2 中的数据确定的。在处理放置在队列中的项目之前,table1 的触发器有可能再次执行。在这种情况下,需要移除队列中的项目,并在队列中放置一个新项目。
流程:
table1 已更新 table1 的触发器触发并查询 table2 以确定时间戳。这个时间戳和代码被添加到队列中。有东西监视这个队列并在确定的时间戳执行代码。如果在从队列中检索项目之前更新了 table1,则会删除该项目并将新项目添加到队列中。
是否有消息服务可以监控日期并在该日期执行,或者我应该在每次触发此触发器时创建一个新的 sql 作业?或者还有其他选择吗?这需要可扩展。
我希望我能够解释我的问题,如果您有任何问题,请告诉我。感谢您提供的任何帮助。
【问题讨论】:
标签: sql sql-server-2005 message-queue messaging activemq