[pgsql-jp: 34437] ストアド上で文字列を複数の値として認識させる方法

katsuura_t @ mail.goo.ne.jp katsuura_t @ mail.goo.ne.jp
2004年 12月 8日 (水) 20:16:37 JST


始めまして、 勝浦と申します。

postgresql7.4.3.8とJDBC7.4.5.1を使って、Javaから渡した1つの文字列を
ストアド上で複数の文字列として認識させる方法が分からず困っています。

CREATE FUNCTION Sample(bpchar) RETURNS refcursor AS '
DECLARE CodeNo ALIAS FOR $1;
Sample_curs refcursor;

BEGIN
OPEN Sample_curs FOR
SELECT
  CodeTable.Code
FROM
  CodeTable
WHERE
  CodeTable.Code IN (CodeNo);
RETURN Sample_curs;
END;

ここで CodeNo に '0700,0800,0900' という値を入れた場合、
それ自体を1つの文字列として見てしまうのか、うまく値が取得できません。
現在はINの内部に (split_part(CodeNo, ',', 1),(split_part(CodeNo, ',', 2),・・・・・・
と記述しているのですが、これでは取得できる件数も限られてしまいます。
何か良い考えがあったら、お願いします。



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