[pgsql-jp: 37101] テーブル名を渡すストアドプロシージャー

宮林 修一 miyabayashi @ lapsys.co.jp
2006年 5月 26日 (金) 17:06:01 JST


はじめまして。宮林ともうします。
PostgreSQL 8.1.3を使用しています。

テキストで、テーブル名を渡して、結果行を返すストアドプロシージャーを
作っているのですが、どうしてもうまくいきません。

CREATE FUNCTION func(text) RETURNS "tblA" AS '
DECLARE
  ret "tblA"%ROWTYPE;
BEGIN
  SELETCT INTO ret * FROM $1;
  RETURN ret;
END; '
LANGUAGE 'plpgsql'
このようにするとSyntaxErrorが出てしまいます。


CREATE FUNCTION func(text) RETURNS "tblA" AS '
DECLARE
  ret "tblA"%ROWTYPE;
  text_query text;
BEGIN
  text_query := ''SELECT INTO ret * FROM '' || $1 || '';'';
  PERFORM text_query;
  RETURN ret;
END; '
LANGUAGE 'plpgsql'
なのでこのようにしてみたら、通ったのですが、結果が返ってきませんでした。


なにがいけないのか途方にくれています。
どうぞよろしくお願いします。





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