Saltar al contenido

PL/SQL: se activó el error “PLS-00306: número incorrecto o tipos de argumentos en la llamada a” para la tabla de números

Te sugerimos que revises esta respuesta en un ambiente controlado antes de enviarlo a producción, saludos.

Solución:

La razón por la que te enfrentas a la PLS-00306 error es incompatibilidad de NUMLIST tipo de colección, definido en la especificación del paquete y NUMLIST tipo de colección definido en el bloque PL/SQL anónimo. Aunque las definiciones de esos dos tipos de colección son las mismas, no son compatibles. En su bloque PL/SQL anónimo, debe declarar y luego pasar al GETSERVICES_API procedimiento una variable de PKGCOMSUPPORT_SERVICE.NUMLIST tipo de datos.

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

Comentarios y puntuaciones

Te invitamos a añadir valor a nuestra información participando con tu experiencia en las notas.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *