我是 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”之后发现了意外的标记“循环”。预期的标记可能包括:“(”。LINE NUMBER=13。SQLSTATE=42601