10
將插入語句放在具有「INSTEAD OF」觸發器的表上會導致無限的「插入」執行循環嗎?INSTEAD TRIGGER,它會無限循環嗎?
例如這樣的:
CREATE TRIGGER setDescToUpper ON part_numbers
INSTEAD OF INSERT
AS
BEGIN
INSERT INTO part_numbers (
colA,
colB,
part_description
) SELECT
colA,
colB,
UPPER(part_description)
) FROM
INSERTED
END
GO
會內「而不是」的插入語句觸發器導致一個循環?
我不想禁用遞歸觸發器。
我是否需要暫時禁用觸發器?
來源:SQL Server - after insert trigger - update another column in the same table
+1對,這是一個INSTEAD OF觸發器。 [MSDN says](http://msdn.microsoft.com/en-us/library/ms189799.aspx):「如果在表上定義的INSTEAD OF觸發器對通常會觸發INSTEAD OF觸發器的表執行語句同樣,該語句不會被遞歸調用,而是將該語句處理爲表中沒有INSTEAD OF觸發器,並啓動約束操作鏈和AFTER觸發器執行。 – Andomar 2012-04-16 17:09:12
你能解釋一下在INSERT語句的情況下會發生什麼嗎? INSERT中的INSERT是否仍然執行? – 2012-04-16 18:42:55
謝謝你們。指出。 – zunetastic 2012-04-17 07:03:35