Oracle
 sql >> Baza danych >  >> RDS >> Oracle

PL/SQL:Błąd PLS-00306:nieprawidłowa liczba lub typy argumentów w wywołaniu wywołanym dla tabeli liczb

Powód, dla którego masz do czynienia z PLS-00306 błąd to niezgodność NUMLIST typ kolekcji, zdefiniowany w specyfikacji pakietu i NUMLIST typ kolekcji zdefiniowany w anonimowym bloku PL/SQL. Mimo że definicje tych dwóch typów kolekcji są takie same, nie są one zgodne. W swoim anonimowym bloku PL/SQL musisz zadeklarować, a następnie przekazać do GETSERVICES_API procedura zmienna PKGCOMSUPPORT_SERVICE.NUMLIST typ danych.

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak połączyć się ze zdalną bazą danych Oracle za pomocą PL/SQL Developer?

  2. Jak uzyskać dostęp do bazy danych Oracle w VirtualBox z hosta (Windows)

  3. Zalecenia dotyczące obsługi Oracle i SQL Server w tej samej aplikacji ASP.NET z NHibernate

  4. Konfigurowanie odbiornika w bazie danych Oracle (edycje 12c, 18c i 19c)

  5. Jak obliczany jest współczynnik klastrowania Oracle Index