8

FOR INSERT挿入後に起動するトリガーを作成しました。以下は、トリガーがどのように起動するかを知りたいさまざまなシナリオです。

トリガーはemployeeテーブル上にあります。4行を挿入する1つのトランザクションを開始します。私の疑問は、トリガーがどのように起動するかです。

  1. 各行を挿入した直後に起動しますか?
  2. そのトランザクションのすべての行の完了後に起動しますか

insertedトリガーから&deleted特殊テーブルにアクセスできます。

  1. それらのテーブルには毎回いくつの行がありますか?たった1つのレコード?または複数のレコード?

前もって感謝します。

4

1 に答える 1

14

INSERTトリガーは、各ステートメントの後に起動します。

4 つのステートメントがあり、それぞれが 1 行の場合、トリガーは、各挿入後に特別なテーブルINSERT内の 1 つのレコードで 4 回起動されます。inserted

4 行の1 つのステートメントがある場合、トリガーは、挿入後に特別なテーブルにINSERT4 つのレコードを使用して 1 回だけ起動されます。inserted

それらがトランザクション挿入の場合、トリガーで実行するアクションもトランザクションになります。トリガーに内部トランザクションがある場合、これは非常に重要です。

于 2012-08-31T12:29:48.520 に答える