首页 > 解决方案 > 2 个单独的任务 - 相关但首先需要完全完成

问题描述

现在我有一个应用程序,只需单击一个按钮即可插入数千行。他们在数据库中填充一个表(或许多表,但让它保持简单),并且插入或更新的任何内容都需要使用存储过程进行计算/重新计算。最初,我在那里有一个触发器,用于查找任何修改并将参数传递给存储过程,但它花费的时间太长。然后我想到将参数值插入“队列”表并从那里读取存储的过程。我在这个队列表上放置了一个触发器,最初认为一旦发生插入,我们可以运行 proc,然后从队列表中删除记录......但是使用触发器插入另一个表的触发器仍然链接并且正在占用该过程需要一段时间才能完成。我想保持这些任务相关但分开。我希望第一个触发器运行,将所有值转储到队列表中,并在 SP 启动之前完全完成。我最好的选择是拥有此队列表中的值并设置每 10 秒运行一次的作业,以查看是否有任何内容,或者您​​可以推荐其他方法吗?

谢谢!

标签: sqlsql-serverstored-procedurestriggers

解决方案


我想经过一番思考后我要做的是让队列表上的触发器仍然存在,但它不会触发存储的过程,而是会启动一项工作。这样它就可以快速通过而不是等待过程。作业本身将有一个存储过程,它回顾队列表并在删除记录之前执行必要的步骤。


推荐阅读