テーブル MyTab があるとします。
MyTab(ID, Col1, Col2, Col3,...)
次に、次のような削除トリガーを作成しました。
CREATE TRIGGER [dbo].[trg_MyTab_Delete]
ON [dbo].[MyTab]
For DELETE AS
begin
INSERT INTO dbo.DeleteHistory(...)
SELECT * FROM deleted d;
end
これは、単一行のデータの削除ではうまく機能します。ただし、次のような一括削除では機能しません
delete from MyTab where ...
上記の delete delete から 10 行を削除するMyTab
と、トリガーは 10*10 = 100 行を に挿入しDeleteHistory
ます。
この問題を解決して、単一行と複数行の削除の両方でこのトリガーが正常に機能するようにするにはどうすればよいですか?