トリガプロシージャ 指定したテーブルで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;