Tôi có một thủ tục lưu trữ trong DB2Làm thế nào để gọi thủ tục lưu trữ dùng mảng sử dụng odbc: param_query trong Erlang
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;
[email protected]
Tôi cố gắng để gọi qua Erlang odbc: param_query.
odbc:param_query(Ref, "CALL sum (?, ?)", [{sql_integer,[1]}, {sql_integer,out, [1]}]).
Ở trên là đem lại cho tôi trở lại đúng như
{executed,1,[{101}]}
Nhưng khi tôi vượt qua nhiều giá trị như
odbc:param_query(Ref, "CALL sum (?, ?)", [{sql_integer,[1,2,3,4]}, {sql_integer,out, [1]}]).
Người ta ném một ngoại lệ
thoát ngoại lệ: {badarg, odbc, param_query, 'Params'} trong hàm odbc: giải mã/1 (odbc.erl, dòng 894)
Có cách nào khác để chuyển danh sách (Array) đến thủ tục lưu sẵn không?