Delete / Update / Insertアクションが実行されたときに、テーブルのトリガーを作成しました。
それが削除であったかどうかをテストするには、次のステートメントを使用します。
if exists(select * from deleted)
そしてそれが挿入物だった場合:
if exists(select * from inserted)
しかし、それが更新であったかどうかをどのようにテストできますか
Delete / Update / Insertアクションが実行されたときに、テーブルのトリガーを作成しました。
それが削除であったかどうかをテストするには、次のステートメントを使用します。
if exists(select * from deleted)
そしてそれが挿入物だった場合:
if exists(select * from inserted)
しかし、それが更新であったかどうかをどのようにテストできますか
SET @action = 'I'; -- Set Action to Insert by default.
IF EXISTS(SELECT * FROM DELETED)
BEGIN
SET @action =
CASE
WHEN EXISTS(SELECT * FROM INSERTED) THEN 'U' -- Set Action to Updated.
ELSE 'D' -- Set Action to Deleted.
END
END
ELSE
BEGIN
IF NOT EXISTS(SELECT * FROM INSERTED) -- New record inserted.
SET @action = 'I';
END