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