トリガプロシージャの作成ファンクション作成 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 行) 参考 |
|