Oracle
 sql >> Database >  >> RDS >> Oracle

PL/SQL:errore PLS-00306:numero o tipi di argomenti errati nella chiamata a attivato per la tabella dei numeri

Il motivo per cui stai affrontando il PLS-00306 l'errore è l'incompatibilità di NUMLIST tipo di raccolta, definito nelle specifiche del pacchetto e in NUMLIST tipo di raccolta definito nel blocco PL/SQL anonimo. Anche se le definizioni di questi due tipi di raccolta sono le stesse, non sono compatibili. Nel tuo blocco PL/SQL anonimo devi dichiarare e quindi passare alla GETSERVICES_API procedura una variabile di PKGCOMSUPPORT_SERVICE.NUMLIST tipo di dati.

create or replace package PKG as
  type t_numlist is table of number index by varchar2(50);
  procedure SomeProc(p_var in pkg.t_numlist);
end;
/

create or replace package body PKG as
  procedure someproc(p_var in pkg.t_numlist) is
  begin
    null;
  end;
end;
/

declare
  type t_numlist is table of number index by varchar2(50);
  l_var t_numlist;
begin
  pkg.someproc(l_var);
end;

ORA-06550: line 5, column 3:
PLS-00306: wrong number or types of arguments in call to 'SOMEPROC'

declare
  --type t_numlist is table of number index by varchar2(50);
  l_var pkg.t_numlist;
begin
  pkg.someproc(l_var);
end;

anonymous block completed