2011-04-25 106 views
3

我需要做一些更新和插入時,表得到更新執行正確的數據。將UPDATE語句放在觸發器中會導致某種「循環」?當我在AFTER UPDATE觸發器中使用UPDATE語句時會發生什麼?

謝謝!

+0

不是一個答案,但是沒有理由不能在首先更新表之前驗證輸入數據嗎? – AllenG 2011-04-25 15:21:04

+2

可能的[SQL Server 2005 - 觸發器循環?]的重複(http://stackoverflow.com/questions/714935/sql-server-2005-trigger-loop) – JNK 2011-04-25 15:21:45

+2

我會好好研究一下設計,其中觸發器在一張桌子上執行更新/插入在同一張桌子上。 – 2011-04-25 15:26:15

回答

3

在觸發器中更新目標表將使觸發器再次觸發。

您可以使用TRIGGER_NESTLEVEL()來計算遞歸深度。

遞歸將在nested_triggers重複(默認爲32)或RECURSIVE_TRIGGERSOFF後停止。

相關問題