触发器,它会无限循环吗?

时间:2012-04-16 16:53:53

标签: sql sql-server tsql triggers

具有“INSTEAD OF”触发器的表上的Insert语句是否会导致无限的“反而插入”执行循环?

例如:

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

“而不是”触发器中的insert语句会导致循环吗?

我不想禁用递归触发器。

我是否需要暂时禁用触发器?

来源:SQL Server - after insert trigger - update another column in the same table

1 个答案:

答案 0 :(得分:16)

此INSERT不会重新调用触发器。

SQL Server不会递归调用INSTEAD OF触发器,原因就在于你提出的原因。