2个单独的任务-相关但首先需要完全完成

时间:2018-11-20 20:36:27

标签: sql sql-server stored-procedures triggers

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

谢谢!

1 个答案:

答案 0 :(得分:0)

我想经过一番思考之后我要做的是在队列表上保持触发器,但是它将触发一项工作,而不是触发存储的proc。这样,它可以快速完成,而不必等待该过程。作业本身将具有一个存储的proc,该proc会回溯到队列表并在删除记录之前执行必要的步骤。