代码之家  ›  专栏  ›  技术社区  ›  geocoin

删除行是否会触发更新触发器?

  •  1
  • geocoin  · 技术社区  · 16 年前

    在SQL Server 2000中,默认情况下,DELETE查询是否会导致表的UPDATE触发器被执行?

    我知道我可以定义一个触发器,该触发器将在DELETE和UPDATE上执行,但我想我会首先验证这是否是必需的。

    2 回复  |  直到 16 年前
        1
  •  9
  •   Chochos    16 年前

    DELETE不会触发UPDATE触发器。如果你有一个触发器被定义为在DELETE和UPDATE上触发,那么它将在DELETE上执行,但这是因为它也是一个DELETE触发器。

        2
  •  3
  •   SQLMenace    16 年前

    把这个放进扳机里,自己检查一下

    IF @@ROWCOUNT > 0 
    BEGIN 
        IF EXISTS (SELECT 1 FROM inserted) 
        BEGIN 
            IF EXISTS (SELECT 1 FROM deleted) 
                PRINT 'update'; 
            ELSE 
                PRINT 'insert'; 
        END 
        ELSE 
            PRINT 'delete'; 
    END