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

  1. 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;
/
  1. 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.
  2. 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:

Vinish Kapoor

An Oracle Apex Consultant, Oracle ACE, and founder of foxinfotech.in and orclqa.com a question and answer forum for developers.

Leave a Reply