[pgsql-jp: 29063] Updateトリガ起動時に、Update対象のカラムを判定したい。

Iso, Toshitaka Toshitaka.Iso @ hp.com
2003年 2月 14日 (金) 19:53:47 JST


こんばんは。Updateトリガ起動時のUpdate対象のカラムを
判定する方法についてお教え下さい。

現状以下のようなテーブルに対してUpdateトリガを作成しています。

【テーブルHoge】
カラム1	varchar(10)
カラム2	char(8)
登録者	varchar(20) 	Default current_user
登録日	timestamp	Default current_timestamp
変更者	varchar(20) 	Default current_user
変更日	timestamp 	Default current_timestamp

Update時に、変更者、変更日が明示的に指定されていた場合は、
その値を投入し、明示的に指定されていない場合は、トリガで
現在のユーザと時間を変更者、変更日に入れたいと考えています。

【明示的に変更者、変更日の指定なし】
Update Hoge set カラム2='xxx';
	→ トリガで現在の日付、ユーザを変更日、変更者にセット

【明示的に変更者、変更日の指定あり】
Update  Hoge set カラム2='xxx',変更者='A', 変更日='2003-03-22';
	→ Update文の値をセット

という処理をしたいと思っています。

トリガの中で、update対象のカラムがどれであるかという判定を行う場合、
どのような処理で実現可能なのかご存知のかたがいらしたら、ぜひとも
ご教授いただけたらと思っています。

以上です。



pgsql-jp メーリングリストの案内