我有更新游标的表,不允许我对其进行批量更新,但需要做一些定期的批量更新(在sql作业中查询)。为此,我想在代码中禁用游标(在SSMS中禁用触发器可以以超时错误结束),但是在查询中禁用运行直到我停止它。
我可以以某种方式设置超时以禁用查询代码中的触发器(或设置作业运行的超时)吗? 感谢
答案 0 :(得分:2)
您可以禁用并重新启用事务的触发器部分。然后,如果更新查询超时,则也会回滚禁用触发器。
答案 1 :(得分:2)
另一种选择可能是使用CONTEXT_INFO。这允许您设置一个范围为当前请求的全局变量。在执行批量更新之前,您可以将CONTEXT_INFO设置为特定值。触发器可以检查此值并跳过执行。这样您就不必禁用触发器。