SQL Server 2000 では、既定で、DELETE クエリによってテーブルの UPDATE トリガーが実行されますか?
DELETE と UPDATE の両方で実行されるトリガーを定義できることはわかっていますが、これが実際に必要であることを最初に確認することにしました。
SQL Server 2000 では、既定で、DELETE クエリによってテーブルの UPDATE トリガーが実行されますか?
DELETE と UPDATE の両方で実行されるトリガーを定義できることはわかっていますが、これが実際に必要であることを最初に確認することにしました。
DELETE は UPDATE トリガーを起動しません。DELETE と UPDATE で起動するように定義されたトリガーがある場合、DELETE で実行されますが、これは DELETE トリガーでもあるためです。
これをトリガーにダンプして、自分で確認してください
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