Foreach (トリガ・キーワード)
使用法
トリガがいつ起動されるかを指定するには、以下の構文を使用します。
Trigger name [ Event = sqlevent, Foreach = foreach ] { //implementation }
foreach は以下のいずれかの値になります。
-
row — このトリガは、トリガ文の影響を受ける各行によって起動されます。行レベルのトリガの場合、Language キーワードを objectscript または python に設定できます。
-
row/object — このトリガは、トリガ文の影響を受ける各行、またはオブジェクト・アクセスによる変更によって起動します。行レベルのトリガの場合、Language キーワードを objectscript または python に設定できます。
このオプションは、統一トリガを定義します。SQL またはオブジェクト・アクセスにより発生するデータ変更によって起動されるトリガであるため、そのように呼ばれます。対照的に、他のトリガを使用すると、オブジェクト・アクセスによる変更の発生時に同じ論理を使用するには、%OnDelete() などのコールバックを実装する必要があります。
-
statement — このトリガは、文全体で 1 回起動されます。文レベルのトリガの場合、Language キーワードを objectscript または tsql に設定できます。
詳細
いつトリガが起動されるかを制御します。
既定値
このキーワードを省略すると、トリガは行レベルのトリガになります。
例外
TSQL では、行レベル・トリガはサポートされていません。
Python では、文レベル・トリガはサポートされていません。
関連項目
-
このドキュメントの “トリガ定義”
-
"クラスの定義と使用" の “メソッド・ジェネレータとトリガ・ジェネレータの定義”
-
"InterSystems SQL の使用法" の “トリガの使用法”
-
"クラスの定義と使用" の “コンパイラ・キーワードの概要”