1

n 個のシーケンス値を取得し、それらを単一のカンマ区切り文字列に結合して返す DB2 ストアド プロシージャがあります。ストアド プロシージャの concat 関数が期待どおりに機能していません。

CREATE PROCEDURE REFWTX.GET_SEQ_VALUES (in numb integer, OUT SEQVALUES VARCHAR(10000))
LANGUAGE SQL
SPECIFIC GET_SEQ_VALUES
BEGIN
DECLARE SEQ_VAL Integer;
DECLARE CUR_COUNT INTEGER;
SET CUR_COUNT=1;
WHILE (CUR_COUNT <= numb) DO
SELECT NEXTVAL FOR REFWTX.ACK_999_INTR_CTRL_NO_SEQ INTO SEQ_VAL FROM SYSIBM.SYSDUMMY1;
set SEQVALUES = SEQVALUES|| ',' || CHAR(SEQ_VAL);
SET CUR_COUNT=CUR_COUNT+1;
END WHILE;
return;
END

手順の一部: set SEQVALUES = SEQVALUES|| ',' || CHAR(SEQ_VAL);

期待どおりに動作していません。ストアド プロシージャで文字列を連結するにはどうすればよいですか?

4

1 に答える 1