[pgsql-jp: 31200] Re: pl/pgsqlについて

ISHIDA Akio iakio @ pjam.jpweb.net
2003年 10月 9日 (木) 21:02:00 JST


こんにちは。石田@苫小牧市です。

tomokazu_watanabe @ c-com.co.jp wrote:

> pl/pgsqlについて質問させてください。
> 
> pl/pgsqlでcreate function文で関数を定義するときにエラーがてしまうのですが、
> 
> 何がエラーなのかがわかりません。
> 
> どなたかわかる方がいらっしゃいましたら教えていただきたく思います。
> 
> よろしくお願いします。
> ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
> ☆☆☆☆
> create function extract(char(20),char(1),char(20)) returns setof kihon_tbl

気の毒ですが(?) extract は関数または型名として使用不可能な
予約語です。
http://www.postgresql.jp/document/pg732doc/user/sql-keywords-appendix.html

> as '
> declare
>   ex_query_one text;
>   ex_query text;
> begin
>   if $2 = '1' then
           ^^^^^^
ここはシングルクォートが足りません。

(中略)
>   ex-query := ''select * from kihon_tbl where '' ll ex-query_one;
     ^^^                                               ^^^
全体的に、ハイフンとアンダーバーがごちゃまぜになっているような、、、

>   excute ex_query;
> end; '
> language 'plpgsql';

returns setof kihon_tbl したいようですが、execute では上手く
いかなかったと思います。for ... in execute で回して
return next しないと駄目かな?ちょっと定かではないです。
http://www.postgresql.jp/document/pg732doc/programmer/plpgsql-control-structures.html

--
ISHIDA Akio<iakio @ pjam.jpweb.net>





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