The reason for the PLS-00323 error in Oracle is a mismatch in procedure or function declaration in the package specification and the package body. To resolve this take the following actions.
Resolve PLS-00323 Error in Oracle
- Check the package specification for all the functions and procedure declarations that they should match with the package body. Below is an example of a mismatched procedure.
Package Specification
CREATE OR REPLACE PACKAGE emp_pkg IS PROCEDURE update_comm (i_comm IN emp2.sal%TYPE); a number; END emp_pkg; /
Package Body
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; /
- You can see the above-highlighted part of the code has the difference. In the specification, it is emp2.sal%type, and in the body, it is emp2.comm%type.
- To resolve this modify as appropriate. For example, change the sal to comm in specification or comm to sal in the body.
Hope that helps.
See also:
- Raise Application Error Example in PL/SQL
- Find Error Line Number in PL/SQL