こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

SQL Serverトリガの中でDMLの種類判断

SQL Serverのトリガの中で、DMLの種類(INSERT/UPDATE/DELETE)を取る方法ってありますか?

こんにちは。アべです。

下記のようなトリガを作成して、操作(INSERT/UPDATE/DELETE)の履歴を
残したいのですが、トリガを3本に分けるのもあれなので、
操作の種類(INSERT/UPDATE/DELETE)を履歴用のテーブルに入れたいのですが、
書き方がわかりません。

取得方法のやり方を教えてもらえないでしょか?


CREATE TRIGGER [mst].[TriggerUserActionHistory]
ON [mst].[User]
AFTER INSERT, UPDATE, DELETE
NOT FOR REPLICATION
AS
BEGIN
SET NOCOUNT ON;
--ACTION TYPE未設定 ↓今はINSERT固定しかできない。
insert into [history].[User] select 'INSERT',getdate(),* from inserted;
END

GO

投稿日時 - 2011-03-07 17:01:06

QNo.6576097

困ってます

質問者が選んだベストアンサー

SQL Serverの場合、insertedとdeletedのデータ有無で判断するのが、一般的です。
両方あれば、UPDATEです。

投稿日時 - 2011-03-26 13:27:44

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(1)

-広告-
-広告-

あなたにオススメの質問

-広告-
-広告-