2011-04-25 233 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后停止。

相关问题