-2

テーブル 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ます。

この問題を解決して、単一行と複数行の削除の両方でこのトリガーが正常に機能するようにするにはどうすればよいですか?

4

1 に答える 1