- 締切済み
ストアドプロシージャの引数にフィールド名を指定したい
以下のようにストアドプロシージャを作成し、 ------------------------------------------------------------ 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 ------------------------------------------------------------ このように、ストアドプロシージャの引数にフィールド名を指定することはできないのでしょうか。 どなたかご教示ください。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- taka_tetsu
- ベストアンサー率65% (1020/1553)
お礼
なるほど・・・難しそうですが、調べて試してみたいと思います。 ご回答ありがとうございます。