Oracle
 sql >> Base de données >  >> RDS >> Oracle

Résoudre l'erreur PLS-00323 dans Oracle

La raison de l'erreur PLS-00323 dans Oracle est une incompatibilité dans la procédure ou la déclaration de fonction dans la spécification du package et le corps du package. Pour résoudre ce problème, procédez comme suit.

Résoudre l'erreur PLS-00323 dans Oracle

  1. Vérifiez la spécification du package pour toutes les déclarations de fonctions et de procédures qu'elles doivent correspondre au corps du package. Vous trouverez ci-dessous un exemple de procédure non concordante.

Spécification du paquet

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

END emp_pkg;
/

Corps du package

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. Vous pouvez voir que la partie du code en surbrillance ci-dessus a la différence. Dans la spécification, il s'agit de emp2.sal%type , et dans le corps, c'est emp2.comm%type .
  2. Pour résoudre ce problème, modifiez le cas échéant. Par exemple, remplacez le sal par comm dans la spécification ou comm to sal dans le corps.

J'espère que ça aide.

Voir aussi :

  • Exemple d'erreur d'application de génération en PL/SQL
  • Rechercher le numéro de ligne d'erreur en PL/SQL