■テストデータ
追加
グループ B
メンバー 峰岸
修正
グループ 4
メンバー 峰岸
削除
グループ 4
メンバー 峰岸
■マスタ 定義
CREATE TABLE [dbo].[GroupMembers](
[GroupCode] [nchar](10) NOT NULL,
[MemberName] [nchar](10) NOT NULL,
CONSTRAINT [PK_GroupMembers] PRIMARY KEY CLUSTERED
(
[GroupCode] ASC,
[MemberName] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
■マスタ履歴 定義
CREATE TABLE [dbo].[GroupMembersLOG](
[IUD] [nchar](10) NULL,
[GroupCode] [nchar](10) NULL,
[MemberName] [nchar](10) NULL
) ON [PRIMARY]
■トリガー定義
CREATE TRIGGER 追加トリガーサンプル ON GroupMembers
AFTER INSERT
AS
BEGIN
INSERT INTO GroupMembersLOG SELECT '追加',* FROM deleted
INSERT INTO GroupMembersLOG SELECT '追加',* FROM inserted
END
GO
CREATE TRIGGER 更新トリガーサンプル ON GroupMembers
AFTER UPDATE
AS
BEGIN
INSERT INTO GroupMembersLOG SELECT '更新',* FROM deleted
INSERT INTO GroupMembersLOG SELECT '更新',* FROM inserted
END
GO
CREATE TRIGGER 削除トリガーサンプル ON GroupMembers
AFTER DELETE
AS
BEGIN
INSERT INTO GroupMembersLOG SELECT '削除',* FROM deleted
INSERT INTO GroupMembersLOG SELECT '削除',* FROM inserted
END
GO
■2012新機能
データ変更の追跡 (SQL Server)
http://msdn.microsoft.com/ja-jp/library/bb933994.aspx
SQL Server 2012 には、データベースのデータに対する変更を
追跡する変更データ キャプチャおよび変更の追跡という 2 つの機能が用意されています。