[pgsql-jp: 28169] トリガファンクションのカラム名を変数で使いたい
Chie.M
gontakun @ check.ne.jp
2002年 12月 3日 (火) 17:16:44 JST
Chieと申します。お世話になっております。
plpgsqlでトリガファンクションを作っています。
このとき
new.カラム名 old.カラム名
としてデータを取得しようとしています。
このカラム名を変数で指定したいのですが、そういうことは出来るのでしょうか?
例えばカラム名がcolというテキスト型の変数に入っている場合
下記のようにしてみたのですがダメでした。
例1
UPDATE test_table SET old_data = old.col;
--colというカラム名はないというエラーになりました。
例2
EXECUTE
''UPDATE test_table SET old_data = old.'' || quote_ident(col);
--oldの使い方が違うみたいなエラーになりました。
マニュアルによれば、これらの、OLDやNEWは「特殊な変数」と書かれているので
''''内では使えないということでしょうか。
変数に入ったテキスト型のカラム名を認識させるには
どうしたらよいのでしょうか?
よろしくお願いいたします。
--環境-------
サーバ
RedHat 7.3
PostgreSQL 7.2.3
Apache 1.3.27
クライアント
Windows XP/Access 2002
PostgreSQL ODBC Driver 07.01.0006 日本語版
--------------------
------------------------
From:Chie.M
gontakun @ check.ne.jp
------------------------
pgsql-jp メーリングリストの案内