私はIBM db2ストアドプロシージャを初めて使用します。私がやろうとしているのは、テーブルから列の値を取得し、これらの値に基づいて選択クエリを作成することです.
CREATE TYPE currencySymbols AS VARCHAR(20) ARRAY[100]@
CREATE PROCEDURE ins_curr_ano(IN crsymbol VARCHAR(20), IN cost1 integer, IN cost2 integer, IN teirId integer)
BEGIN
DECLARE currencies currencySymbols;
DECLARE maxCount INTEGER DEAFULT 0;
set currencies = ARRAY[SELECT distinct(CURR_SYMBOL) as currencySymbols FROM CURRENCY_MAPPING];
set maxCount = CARDINALITY(currencies);
for i in 1..maxCount loop
dbms_output.put_line(i);
end loop;
END@
以下は私が得ているエラーです:
DB21034E コマンドは有効なコマンド行プロセッサー・コマンドではなかったため、SQL ステートメントとして処理されました。SQL 処理中に返されました: SQL0104N "for i in 1..maxCount" の後に予期しないトークン "loop" が見つかりました。予想されるトークンには次のものが含まれる可能性があります: "(". LINE NUMBER=13. SQLSTATE=42601