OUTPUT 句が含まれる DML トリガの使用

INSERT、UPDATE、DELETE、または MERGE ステートメントを使用して DML トリガを作成し、トリガ動作によって変更された行を返すことができます。ただし、次のような状況では、処理された行を受け取るテーブル変数を OUTPUT 句に指定する必要があります (INTO 句を使用)。指定しないと、トリガの実行が失敗することがあります。

  • 1 つのトランザクション内で、複数のクエリの一部としてトリガが起動される。

  • トリガから外部データにアクセスする。

トリガの実行に失敗した場合は、トリガを起動する動作も失敗し、トリガを起動する動作を含むトランザクションはロールバックされます。

注意

この注意事項は、DML トリガの内部で実行され、INTO を指定しない OUTPUT 句を含んでいる INSERT、UPDATE、DELETE、または MERGE ステートメントのみに適用されます。DML トリガを起動する INSERT、UPDATE、DELETE、または MERGE ステートメント内の OUTPUT 句には適用されません。

関連項目

概念