I have a stored procedure with PLSQL Table as a parameter;
type BigInt_Tab is table of number(20);
procedure test(AParam in BigInt_Tab);
In Delphi to call that procedure:
Query.SQL.Text := 'begin test
AParam); end;'
Because in Delphi I cannot use Integer or Float type to store that big (precision 20) number I declare AParam variable as otString, otherwise the value is just truncated. Then DimPLSLTable(AParam, 3, 20);
On Query Execute I've got bind array param type mismatch error.
The only solution I can see is alter procedure and type definition to make
type BigInt_Tab is table of varchar2(20);
But it's kind of lame IMHO, is there any other more elegant way to do this.
Thanks
type BigInt_Tab is table of number(20);
procedure test(AParam in BigInt_Tab);
In Delphi to call that procedure:
Query.SQL.Text := 'begin test

Because in Delphi I cannot use Integer or Float type to store that big (precision 20) number I declare AParam variable as otString, otherwise the value is just truncated. Then DimPLSLTable(AParam, 3, 20);
On Query Execute I've got bind array param type mismatch error.
The only solution I can see is alter procedure and type definition to make
type BigInt_Tab is table of varchar2(20);
But it's kind of lame IMHO, is there any other more elegant way to do this.
Thanks