CREATE CONSTRAINT TRIGGER name AFTER event [ OR ... ] ON table_name [ FROM referenced_table_name ] { NOT DEFERRABLE | [ DEFERRABLE ] { INITIALLY IMMEDIATE | INITIALLY DEFERRED } } FOR EACH ROW EXECUTE PROCEDURE funcname ( arguments )
CREATE CONSTRAINT TRIGGERは制約トリガを作成します。 これは、トリガの発生タイミングをSET CONSTRAINTSを使用して調整できる点を除き、通常のトリガと同じです。 制約トリガはAFTER ROWトリガでなければなりません。 これは、トリガイベントを引き起こす文の終わり、または、その文を含むトランザクションの終わりのいずれかに発生することができます。 後者の場合、これは遅延されたと言われます。 遅延されたトリガ発行を待機することを、SET CONSTRAINTSを使用して強制的に、即座に発生させることもできます。
制約トリガの名前です。 これは、SET CONSTRAINTSを使用してトリガの動作を変更する時に使用される名前でもあります。 この名前はスキーマで修飾することはできません トリガはテーブルのスキーマを継承します。
INSERT、UPDATE、DELETEのいずれかです。 これはトリガを発行するイベントを指定するものです。 ORを使用して複数のイベントを指定することができます。
トリガイベントが発生するテーブルの名前です(スキーマ修飾可)。
この制約により参照されるテーブルの名前です(スキーマ修飾可)。 このオプションは外部キー制約トリガによって使用されるもので、通常使用することは推奨されません。
トリガ発行タイミングのデフォルトです。 これらの制約オプションについてはCREATE TABLEを参照してください。
トリガが発行された場合に呼び出される関数です。 CREATE TRIGGERを参照してください。
トリガ関数に渡す引数文字列で、省略可能です。 CREATE TRIGGERを参照してください。