sql >> Base de Datos >  >> RDS >> Oracle

Resolver el error PLS-00323 en Oracle

El motivo del error PLS-00323 en Oracle es una falta de coincidencia en la declaración de función o procedimiento en la especificación del paquete y el cuerpo del paquete. Para resolver esto, realice las siguientes acciones.

Resolver error PLS-00323 en Oracle

  1. Consulte la especificación del paquete para ver todas las funciones y declaraciones de procedimientos que deben coincidir con el cuerpo del paquete. A continuación se muestra un ejemplo de un procedimiento no coincidente.

Especificación del paquete

CREATE OR REPLACE PACKAGE emp_pkg
IS
PROCEDURE update_comm (i_comm IN emp2.sal%TYPE);
a number;

END emp_pkg;
/

Cuerpo del paquete

CREATE OR REPLACE PACKAGE BODY emp_pkg
IS
PROCEDURE update_comm (i_comm IN emp2.comm%TYPE)
IS
BEGIN
UPDATE emp2
SET comm = sal * NVL (i_comm, 0) / 100;

COMMIT;
END update_comm;
END emp_pkg;
/
  1. Puede ver que la parte del código resaltada arriba tiene la diferencia. En la especificación, es emp2.sal%type , y en el cuerpo, es emp2.comm%type .
  2. Para resolver esto, modifíquelo según corresponda. Por ejemplo, cambie sal a comm en la especificación o comm to sal en el cuerpo.

Espero que ayude.

Ver también:

  • Ejemplo de error de aplicación de generación en PL/SQL
  • Buscar número de línea de error en PL/SQL