私は非常に奇妙な行動に気づきました。挿入選択ステートメントを作成し、選択部分がデータを返さない場合でも、挿入部分は実行され、挿入トリガーも呼び出されます(挿入トリガーでは、挿入された疑似テーブルに0行があります)。
例:
insert into table1 column1
select column1 from table2 where condition = 'Never met'
出力:
(0 row(s) affected) // 0 rows inserted
(1 row(s) affected) // log from trigger
「ユニバーサル」トリガー(FOR INSERT、UPDATE、DELETEを一度に宣言)が原因でしょうか?これは架空の質問に似ていることを知っており、この動作を受け入れる必要があります。しかし、なぜこれが起こっているのですか?私には意味がありません。SQL Server 2005 を使用しています。
-- kwitee