Ich habe eine gespeicherte Prozedur in db2Wie Aufruf gespeicherte Prozedur unter Array mit odbc: param_query in 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]
ich durch Erlang odbc zu nennen versuchen: param_query.
odbc:param_query(Ref, "CALL sum (?, ?)", [{sql_integer,[1]}, {sql_integer,out, [1]}]).
Die oben gibt mir die richtige Rückkehr als
{executed,1,[{101}]}
Aber wenn ich mehrere Werte als
odbc:param_query(Ref, "CALL sum (?, ?)", [{sql_integer,[1,2,3,4]}, {sql_integer,out, [1]}]).
Es wirft eine Ausnahme
Ausnahme Ausfahrt passieren: {badarg, odbc, param_query, 'Params'} in der Funktion odbc: decode/1 (odbc.erl, Zeile 894)
Gibt es eine andere Möglichkeit, eine Liste (Array) an die gespeicherte Prozedur zu übergeben?