• 締切済み

ストアドプロシージャの引数にフィールド名を指定したい

以下のようにストアドプロシージャを作成し、 ------------------------------------------------------------ CREATE FUNCTION test(integer) RETURNS integer AS'  DECLARE   aaa ALIAS FOR $1;  BEGIN   IF aaa BETWEEN 1 AND 5 THEN    RETURN 5;   ELSIF aaa BETWEEN 6 AND 10 THEN    RETURN 10;   ELSIF aaa BETWEEN 11 AND 15 THEN    RETURN 15;   END IF;  END;' LANGUAGE 'plpgsql'; ------------------------------------------------------------ 以下のようなSQL構文でこのプロシージャを使用したいと思っています。 ------------------------------------------------------------ select test(フィールド名) from テーブル名; ※「フィールド名」のフィールドにはinteger型のデータが入っています。 ------------------------------------------------------------ が、このSQLを実行すると以下のようなエラーが出ます。(CSE使用) ------------------------------------------------------------ WARNING: Error occurred while executing PL/pgSQL function test WARNING: at END of toplevel PL block WARNING: Error occurred while executing PL/pgSQL function test WARNING: at END of toplevel PL block SQL実行中に以下のエラーが発生しました。 WARNING: at END of toplevel PL block ------------------------------------------------------------ このように、ストアドプロシージャの引数にフィールド名を指定することはできないのでしょうか。 どなたかご教示ください。

みんなの回答

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1
mdk
質問者

お礼

なるほど・・・難しそうですが、調べて試してみたいと思います。 ご回答ありがとうございます。