トリガプロシージャの作成ファンクション作成DROP FUNCTION myfunc(); CREATE FUNCTION myfunc() RETURNS TRIGGER AS ' DECLARE ts TIMESTAMP; BEGIN ts = ''now''; INSERT INTO t2 VALUES (new.val, ts); RETURN new; END; ' LANGUAGE 'plpgsql' ; トリガー作成DROP TRIGGER mytrigger ON t1; CREATE TRIGGER mytrigger BEFORE INSERT OR UPDATE ON t1 FOR EACH ROW EXECUTE PROCEDURE myfunc() ; これでテーブルT1にトリガーが設定された。T1に1件インサートすると、その値とその時の日付がテーブルT2に記録される。 確認SELECT * FROM t1; val ----- (0 行) INSERT INTO t1 VALUES ( 100 ); SELECT * FROM t2; val | ctime -----+---------------------------- 100 | 2011-12-31 13:11:48.050969 (1 行) 参考 |
|