在SQL Server 2000中,默认情况下,DELETE查询是否会导致执行表的UPDATE触发器?
我知道我可以定义一个将在DELETE和UPDATE上执行的触发器,但我想我会先验证这是否是必需的。
答案 0 :(得分:8)
DELETE不会触发UPDATE触发器。如果你有一个触发器被定义为在DELETE和UPDATE上被触发,那么它将在DELETE上执行,但那是因为它也是一个DELETE触发器。
答案 1 :(得分:2)
将其转储到您的触发器中并自行检查
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