我有一个触发器,该触发器更新一个名为 lastmodified
的datetime
列。
我还有一个计划的作业,运行一个存储过程,该过程更新表
where lastmodified = getdate()
此存储过程触发了最后一个修改的触发器,这意味着每行运行时都会更新每一行。
有什么想法如何解决这个问题?
谢谢
如何在更新语句开始之前禁用触发器并在更新之后启用它?
ALTER PROCEDURE [dbo].[Your_Procedure]
AS
BEGIN
EXEC('DISABLE TRIGGER YourTrigger ON YourTable');
UPDATE YourTable
SET YourColumn = some_value
where lastmodified = getdate()
EXEC('ENABLE TRIGGER YourTrigger ON YourTable');
END;