[pgsql-jp: 32978] Re: NEW もしくは OLD に別名を与える方法は?

Akinori FUJII showten24 @ yahoo.co.jp
2004年 5月 20日 (木) 19:42:22 JST


藤井です

北村さん、またまたサポートして頂きありがとうございます。

> > E) SELECT INTO rec * FROM NEW ;
> >    WARNING:  Error occurred while executing PL/pgSQL function
> func_name
> >    WARNING:  line n at select into variables
> 
> SELECT NEW.* into rec;
> で出来ませんか?
> rec は RECORD型にしてあるかと思いますので、後は「入れ方」の
> 問題だと思います。
> 試してないので恐縮ですが、上記の方法で可能だと思います。
> 
以下のように記述して、早速試してみました。
DECLARE
    rec  RECORD ;
BEGIN
    SELECT NEW.* INTO rec ;

結果はやはりエラーでした。
エラーは以下のとおりです。
WARNING:  Error occurred while executing PL/pgSQL function func_name
WARNING:  line n at select into variables
SQL実行中に以下のエラーが発生しました。
ERROR:  NEW used in non-rule query

#今回は、OLD用INSERT文とNEW用INSERT文を記述することで
 この問題を回避しました。

 残念ですが、また機会があれば挑戦してみようと思います。
 北村さん、ありがとうございました。

藤井




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