トリガー

Trigger_img.png
トリガーオブジェクトの定義情報・ソースの表示及び保守を行う画面です。

■ 共通部分

項目名 説明
作成 編集中の情報を登録し、画面を閉じます。
削除 現在開いているトリガーを削除します。
戻す 各情報を、編集前の状態に戻します。
終了 編集作業を中断し、画面を閉じます。
スキーマ トリガーのスキーマを入力します。
新規登録時のみ入力可能になります。
テーブル トリガーの対象となるテーブルの名前を指定します。
新規登録時のみ入力可能になります。
名前 トリガーの名称を入力します。
新規登録時のみ入力可能になります。

■[定義情報]タブ
トリガーオブジェクトについての情報が表示されます。
この情報を修正し、[作成]ボタンを押すと、トリガーを更新する事ができます。

項目名 説明
タイミング 関数の呼び出しをイベントの前に行うか後に行うか、それとも代替として行うかを決定します。
※制約トリガーではAFTERとしてしか指定することができません。
イベント トリガーを起動するイベントを指定します。
複数のイベントを指定することができます。
UPDATEイベントでは、列リストを指定することができます。
※代替UPDATEイベントは列リストをサポートしません。
※TRUNCATEイベントは行トリガーでは使用できません。
行トリガー チェックONの場合は、行毎に1回起動します。
チェックOFFの場合は、SQL文毎に1回のみ起動します。
変更列 トリガーを起動する対象の列を指定します。
UPDATEイベント選択時に設定できます。
制限 トリガー関数を実際に実行するか否かを決定する論理式です。
行トリガーでは、WHEN条件で、それぞれOLD.column_name、NEW.column_nameと記述することで、
古い行値、新しい行値、またはその両方の列を参照することができます。
当然ながらINSERTトリガーではOLDを参照することはできませんし、
DELETEトリガーではNEWを参照することはできません。
制約トリガーでは、WHEN条件の評価は遅延されず、行の更新操作が行われた直後に発生することに注意してください。
この条件が真と評価されなかった場合、トリガーは遅延実行ようのキューに入りません。
※代替トリガーはWHEN条件をサポートしません。
※副問い合わせを含めることはできません。
制約トリガー トリガの発生タイミングをSET CONSTRAINTSを使用して調整できます。
※制約トリガーはAFTER ROWトリガでなければなりません。

スキーマ...
制約参照テーブルのスキーマを選択します。

制約参照テーブル...
制約で参照されるテーブルの名前です。

制約遅延あり...
制約を遅延させることが可能かどうかを制御します。
※制約遅延なしの場合は、制約検査時期は設定できません。

制約検査時期...
制約検査を行うデフォルトの時期を指定します。
ファンクション スキーマ...
使用ファンクションのスキーマを選択します。

使用ファンクション...
トリガーが起動した時に実行されるファンクションを指定します。
※ファンクションの戻り値が「trigger」の関数が対象となります。

引数...
トリガー実行時に関数に渡される引数をカンマで区切ったリストです。

■[ソース]タブ
トリガーオブジェクトを作成する際のSQL文が表示されます。
このSQL文を編集し、[作成]ボタンを押すと、トリガーを再作成する事ができます。

また、画面右端にあるパレットより以下の機能を利用できます。

項目名 説明
オブジェクトツリー ドラッグアンドドロップでオブジェクト名をエディタ部分に記述するオブジェクトツリーです。選択(Ctrlキー選択、Shiftキー選択)を行い、記述したい部分にドラッグアンドドロップが出来ます。
Enterキー押下した場合はエディタ上のキャレット位置にテキストが記述されます。右クリックメニューからオブジェクトの定義情報も開けます。
逆引き検索 子オブジェクト名から親オブジェクトを検索できる機能です。列名からテーブル名や、シノニム名から参照先オブジェクト名をリストアップいたします。
また、ドラッグアンドドロップ・EnterキーでSQLに記入することが出来ます。
SQLのプログラムソース化 ドラッグアンドドロップでSQLをプログラムソース向けに加工する機能です。ルールに沿って文字列記号等を付加してクリップボードに出力します。
[SQLに戻す]でプログラムソースから元のSQLへ変更することも可能です。また、カスタムしたルールを登録することも可能です。

■[相関]タブ
画面項目の説明については「テーブルの[相関]タブ」を参照して下さい。