我在 db2 中有一个存储过程
create type intArray as integer array[100]@
create or replace procedure sum(in numList intArray, out total integer)
begin
declare i, n integer;
set n = CARDINALITY(numList);
set i = 1;
set total = 100;
while (i <= n) do
set total = total + numList[i];
set i = i + 1;
end while;
end@
我正在尝试通过 Erlang odbc:param_query 调用。
odbc:param_query(Ref, "CALL sum (?, ?)", [{sql_integer,[1]}, {sql_integer,out, [1]}]).
以上给了我适当的回报
{executed,1,[{101}]}
但是当我将多个值传递为
odbc:param_query(Ref, "CALL sum (?, ?)", [{sql_integer,[1,2,3,4]}, {sql_integer,out, [1]}]).
它抛出异常
异常退出:函数 odbc:decode/1 中的 {badarg,odbc,param_query,'Params'}(odbc.erl,第 894 行)
有没有其他方法可以将列表(数组)传递给存储过程?