[pgsql-jp: 30115] トリガ作成でのエラー
sorako yamamoto
sorako_y @ hotmail.com
2003年 6月 3日 (火) 11:31:05 JST
こんにちは。いつもお世話になっております。
現在、
出勤時刻 TIMESTAMP
退勤時刻 TIMESTAMP
休憩時間 INTERVAL
実働時間 INTERVAL
を持っている、tbl_time_recorderstというテーブルがあり、
このテーブルがINSERT/UPDATE された場合に
退勤時刻-出勤時刻-休憩時間で実働時間を求めるトリガを作成したいと考えていま
す。
********************** トリガ *********************************
CREATE FUNCTION tbl_time_recorders_trigger() RETURNS OPAQUE
AS '
BEGIN
IF NEW.in_time ISNULL OR NEW.out_time ISNULL OR NEW.break_ours ISNULL THEN
-- 何もしない
RETURN NULL;
END IF ;
NEW.working_ours := NEW.out_time - NEW.in_time - NEW.break_ours ;
RETURN NEW ;
END ;
' LANGUAGE 'plpgsql' ;
CREATE TRIGGER trig_tbl_time_recorders
AFTER INSERT OR UPDATE ON tbl_time_recorders
FOR EACH STATEMENT
EXECUTE PROCEDURE tbl_time_recorders_trigger();
****************************************************************
上記ファイルを読み込むと、
CreateTrigger: STATEMENT triggers are unimplemented, yet
というエラーが出てしまいました。
ためしに、UPDATE INSERTをかけてもやはりトリガ作成されていないようです。
なにか設定に問題があるのでしょうか。
Googleで調べましたが、'plpgsql'のトリガの例って以外に少ないですね…
BEFORE INSERT等でINSERT前に入力制限をかける等のサンプルは
書籍でも少し見つけることができたのですが、AFTER後に他カラムをいじるみたいな
物が
見つけられず苦労しています。
たびたびの初歩的質問で本当に恐縮ですが、
アドバイスいただきたいです。よろしくお願い致します。
_________________________________________________________________
ウイルスメール、迷惑メール対策なら MSN Hotmail http://www.hotmail.com/
pgsql-jp メーリングリストの案内