我寫了一個更新觸發器,它執行可能調用自身的更新(這是我想要的行爲)。如何編寫遞歸觸發器
不幸的是,觸發器沒有調用自己,我不明白爲什麼。這個觸發器只是簡單地改變任何子記錄的值(基於父鍵),然後我期望在那個孩子被更新後觸發器應該再次被觸發,並且該孩子的任何子記錄被更新等等。
我可以手動運行相同的更新觸發器成功完成,並按照我的預期設置子記錄。
我已經跑版EXEC sp_configure嵌套觸發器「,並已返回
最小:0,最大:1,CONFIG_VALUE:1,run_value:1,所以遞歸似乎開啓。
ALTER TRIGGER [dbo].[DataInstance_Trigger]
ON [dbo].[DataInstance]
AFTER UPDATE
AS
BEGIN
UPDATE DataInstance
SET
DataInstance.IsCurrent = i.IsCurrent
FROM DataInstance di
Inner join DataContainer dc on
di.DataContainerId = dc.DataContainerId
Inner join Inserted i on
dc.ParentDataContainerId = i.DataContainerId
WHERE di.IsCurrent != i.IsCurrent
END
什麼'EXEC的sp_dboption '數據庫名稱',「遞歸triggers''回報? – 2010-07-11 10:48:23