0

別のテーブルにコピーされたテーブルのレコードのすべての変更を投稿したい

CREATE TABLE dbo.mytable(
    field1 numeric(13,2) NOT NULL,
    field2 char(4)       NOT NULL,
    field3 char(4)       NOT NULL,
    field4 varchar(30)   NOT NULL,
    field5         datetime      NULL,
    field6 datetime      NULL)

これは私のテーブルです。

上記のテーブルが変更されたときに、すべての変更を記録する別のテーブルを作成したいと思います。

 CREATE TABLE dbo.mytable_audit(
            field1 numeric(13,2) NOT NULL,
            field2 char(4)       NOT NULL,
            field3 char(4)       NOT NULL,
            field4 varchar(30)   NOT NULL,
            field5         datetime      NULL,
            field6 datetime      NULL,
    idactivity numaric),
    iddatestamp datetime)

最初のテーブルの変更を2番目のテーブルにキャプチャしたい(誰がタイムスタンプでこのテーブルに挿入/更新/削除したか)。

4

1 に答える 1

0

挿入、更新、削除、および代わりのトリガーがあります。目的に応じて、Insert、Update、および Delete トリガーを作成する必要があります。

以下に短い例を示します。

create trigger mytable_del on mytable
for delete

as

declare @stuff

insert something into mytable_audit
where something and something else

end
go

これがドキュメントです。トリガーの特定の部分に問題がある場合は、それらの特定のコードに関する質問をここに投稿できますが、ここの誰かがトリガーを作成する可能性は低いです。

于 2013-08-13T13:51:18.320 に答える