トリガプロシージャ 指定したテーブルでINSERTやUPDATEが行われたときに、あるテーブルに処理を施す。 CREATE FUNCTION 関数名()RETURNS triggerLANGUAGE plpgsqlAS $$DECLARE -- 変数の宣言BEGIN -- トリガーを引く方の変数をNEW.idやNEW.nameなどとして、あるテーブルへのINSERTやUPDATEの要素にする RETURN NEW;END$$; トリガーの作成 指定のテーブルにINSERTが実行されるとトリガーが引かれるようにするには、 CREATE TRIGGER 関数名_trigger AFTER INSERT ON テーブル名 FOR EACH ROW EXECUTE FUNCTION 関数名(); トリガイベントとしてはINSERTの他、UPDATEやDELETEがある。 INSERT OR UPDATEとも書ける。 UPDATE OF col1, col2の形で、col1かcol2の少なくとも1列が更新された場合に起動できる。 FOR EACH ROWは対象行ごとに起動するが、デフォルトのFOR EACH STATEMENTではSQL文につき1回起動。 トリガーの削除 DROP TRIGGER 関数名_trigger ON テーブル名; トリガーの一覧 SELECT * FROM information_schema.triggers;