O motivo do erro PLS-00323 no Oracle é uma incompatibilidade na declaração de procedimento ou função na especificação do pacote e no corpo do pacote. Para resolver isso, execute as seguintes ações.
Resolva o erro PLS-00323 no Oracle
- Verifique a especificação do pacote para todas as funções e declarações de procedimento que devem corresponder ao corpo do pacote. Abaixo está um exemplo de um procedimento incompatível.
Especificação do pacote
CREATE OR REPLACE PACKAGE emp_pkg IS PROCEDURE update_comm (i_comm IN emp2.sal%TYPE); a number; END emp_pkg; /
Corpo do pacote
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; /
- Você pode ver que a parte do código destacada acima tem a diferença. Na especificação, é emp2.sal%type , e no corpo, é emp2.comm%type .
- Para resolver isso, modifique conforme apropriado. Por exemplo, altere o sal para comm na especificação ou comm to sal no corpo.
Espero que ajude.
Veja também:
- Exemplo de erro de aplicativo de geração em PL/SQL
- Encontre o número da linha de erro em PL/SQL