1
私のコードに何が問題なのかよく分かりませんが、SQLで宣言されているカーソルでフィールド(コード)の次の文字をフェッチするwhileループを作ろうとしています。目標は、ループで次の一致する文字を取得することです。次に、ループの最後に結果を戻したいと思います。目標は、完全一致がない場合、コードと部分的に一致させることです。私は前にカーソルを使ったことがないので、フェッチとカーソルを使ってできる限り学びたいと思っています。SQL FETCH、カーソルとRPG
EXEC SQL
SELECT field FROM file
WHERE field = :code
UNION
DECLARE UserInput CURSOR FOR
SELECT field FROM file
WHERE field LIKE '%' || :code || '%'
ORDER BY field ASC
OPEN UserInput
FETCH NEXT FROM UserInput
BEGIN
DO WHILE <> %EOF
FETCH NEXT FROM UserInput
END
CLOSE UserInput
DEALLOCATE UserInput;
ありがとう、これは私がそれをはるかによく理解するのに役立ちます! –
もう一つ、 'CODE'と' FIELD'が固定長文字フィールドであると仮定すると、 '% '||トリム(:コード)|| '%' '。 – Charles
バリアント文字、_bar_記号 "|"を放棄して、||演算子としてCONCATを演算子として使用します。 – CRPence