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
- 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; /
- 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 .
- 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