トリガー

トリガー は、指定した表あるいはビューに対して、指定した変更操作が実行されるときに、自動的に実行される一連のアクションです。

変更操作は、SQL の INSERT、UPDATE、または DELETE ステートメント、あるいは、アプリケーション・プログラム内の高水準言語の挿入、更新、または削除ステートメントのどちらであってもかまいません。 トリガーは、業務に関する規則の適用、入力データの妥当性検査、および監査証跡の保管などの作業に役立ちます。

トリガーは SQL あるいは外部として定義できます。

外部トリガーの場合は、ADDPFTRG CL コマンドが使用されます。一連のトリガー・アクションを含むプログラムは、サポートされているどの高水準言語ででも定義できます。 外部トリガーは、挿入トリガー、更新トリガー、削除トリガー、または読み取りトリガーになることができます。

SQL トリガーの場合は、CREATE TRIGGER ステートメントが使用されます。トリガー・プログラムはすべて、SQL を使用して定義されます。 SQL トリガーは、挿入トリガー、更新トリガー、または削除トリガーになることができます。 SQL トリガーは、単一のトリガー・プログラム内でこれらの複数のイベントを持つように定義することもできます。

トリガーが表またはビューに関連付けられると、表またはビュー、あるいは、その表またはビューに基づいて作成されたすべての論理ファイルまたはビューに対して変更操作が開始されるたびに、トリガー・サポートによりトリガー・プログラムが呼び出されます。SQL トリガーと外部トリガーは、同じ表に定義できます。 ビューに定義できるのは、SQL トリガーのみです。1 つの表またはビューに定義できるトリガーの数は最大 300 です。

表に対するそれぞれの変更操作について、変更操作の前または後にトリガーを呼び出すことができます。 さらに、表がアクセスされるたびに呼び出される 読み取り トリガーを追加することができます。したがって、1 つの表は、以下の多くのタイプのトリガーに関連付けることができます。

1 つのビューに対する各変更操作では、挿入、更新、削除の代わりに、一連のアクションを実行するトリガーの代替を呼び出すことができます。 ビューは以下のトリガーに関連付けることができます。