Trigger Dialog

Trigger ダイアログを使用して、トリガーを作成するか、既存のトリガーを変更します。トリガーは、特定のイベントが発生したときに指定された関数を実行します。

トリガー ダイアログは、次のダイアログタブを介してトリガーの開発を整理します。 一般 、 定義 、 イベント 、および コード 。 SQL タブには、ダイアログ選択によって生成されたSQLコードが表示されます。

トリガーダイアログの一般タブ

[ General ]タブのフィールドを使用して、トリガーを識別します。

  • Name フィールドを使用して、トリガーの説明的な名前を追加します。これは、同じテーブルの他のトリガーの名前とは異なる必要があります。名前は pgAdmin ツリーコントロールに表示されます。同じ種類の複数のトリガーが同じイベントに対して定義されている場合、それらは名前のアルファベット順に起動されることに注意してください。

  • コメント フィールドにトリガーに関するメモを保存します。

[ 定義 ]タブをクリックして続行します。

トリガーダイアログ定義タブ

[ Definition ]タブのフィールドを使用して、トリガーを定義します。

  • 行トリガー? スイッチを いいえ の位置に移動して、テーブル内の各行でのトリガーの起動の関連付けを解除します。デフォルトは はい です。

  • Constrainttrigger? スイッチを Yes の位置に移動して、トリガーがコンストレイントトリガーであることを指定します。

  • 有効になっている場合、 Deferrable? スイッチを Yes の位置に移動して、制約トリガーが遅延可能であり、ステートメントの最後まで延期できるタイミングを指定します。デフォルトは いいえ です。

  • 有効になっている場合、 Deferred? スイッチを Yes の位置に移動して、制約トリガーのタイミングを指定し、トリガーイベントを引き起こすステートメントの最後に延期します。デフォルトは いいえ です。

  • TriggerFunction の横にあるドロップダウンリストボックスを使用して、トリガー関数またはプロシージャを選択します。

  • Arguments フィールドを使用して、トリガーが実行されたときに関数に引数のオプション(コンマ区切り)リストを提供します。引数はリテラル文字列定数です。

ダイアログタブで有効になっているトリガー
  • Triggerenabled フィールドは、トリガーが作成されるとトリガーダイアログで使用できます。利用可能な4つのオプションから1つを選択できます。

[ イベント ]タブをクリックして続行します。

トリガーダイアログのイベントタブ

[ イベント ]タブのフィールドを使用して、トリガーを起動する方法とタイミングを指定します。

  • Fires フィールドの横にあるドロップダウンリストボックスを使用して、トリガーが指定されたイベントの BEFORE または AFTER かどうかを判断します。デフォルトは BEFORE です。

  • トリガーを呼び出すイベントのタイプを選択します。イベントタイプを選択するには、イベントの横にあるスイッチを YES の位置に動かします。サポートされているイベントタイプは、 INSERT 、 UPDATE 、 DELETE 、および TRUNCATE です。

  • When フィールドを使用して、トリガーを呼び出すブール条件を提供します。

  • 列固有のトリガーを定義する場合は、 Columns フィールドを使用して、トリガーのターゲットとなる列を指定します。

[ コード ]タブをクリックして続行します。

トリガーダイアログのコードタブ

Code フィールドを使用して、トリガーが起動したときに呼び出される追加のコードを指定します。

SQL タブをクリックして続行します。

トリガー ダイアログに入力すると、SQLコマンドが生成されます(以下の例を参照)。レビューには SQL タブを使用します。再アクセスするかタブを切り替えて、SQLコマンドを変更します。

例

以下は、 トリガー ダイアログでのユーザー選択によって生成されるsqlコマンドの例です。

トリガーダイアログSQLタブ

この例では、 emp_trigger という名前のトリガーの作成を示しています。

  • Info ボタン(i)をクリックして、オンラインヘルプにアクセスします。

  • Save ボタンをクリックして作業を保存します。

  • Close ボタンをクリックして、作業を保存せずに終了します。

  • Reset ボタンをクリックして、構成パラメーターを復元します。