このようなものは、必要なことを行う必要があります。 INSERT
があります 以下のステートメントは、実行された操作を示す値を MyLogTable
に挿入します .
CREATE TRIGGER [dbo].[TRIG_MyTable] ON [dbo].[MyTable] AFTER INSERT, UPDATE AS DECLARE @INS int, @DEL int SELECT @INS = COUNT(*) FROM INSERTED SELECT @DEL = COUNT(*) FROM DELETED IF @INS > 0 AND @DEL > 0 BEGIN -- a record got updated, so log accordingly. INSERT INTO MyLogTable SELECT 'New Values', getdate() FROM INSERTED INSERT INTO MyLogTable SELECT 'Old Values', getdate() FROM DELETED END ELSE BEGIN -- a new record was inserted. INSERT INTO MyLogTable SELECT 'Insert', getdate() FROM INSERTED END
プレ>必要に応じて、
INSERTED
から列を追加することもできます そしてDELETED
挿入または更新された実際の列の値をキャプチャする場合は、ログ テーブルにも追加します。