Przyczyną błędu PLS-00323 w Oracle jest niezgodność deklaracji procedury lub funkcji w specyfikacji pakietu i treści pakietu. Aby rozwiązać ten problem, wykonaj następujące czynności.
Rozwiąż błąd PLS-00323 w Oracle
- Sprawdź specyfikację pakietu pod kątem wszystkich deklaracji funkcji i procedur, które powinny być zgodne z treścią pakietu. Poniżej znajduje się przykład niedopasowanej procedury.
Specyfikacja pakietu
CREATE OR REPLACE PACKAGE emp_pkg IS PROCEDURE update_comm (i_comm IN emp2.sal%TYPE); a number; END emp_pkg; /
Opakowanie
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; /
- Widać, że wyróżniona powyżej część kodu ma znaczenie. W specyfikacji jest to emp2.sal%type , a w treści jest to emp2.comm%type .
- Aby rozwiązać ten problem, zmodyfikuj odpowiednio. Na przykład zmień sal na comm w specyfikacji lub com do sal w ciele.
Mam nadzieję, że to pomoże.
Zobacz też:
- Przykład zgłaszania błędów aplikacji w PL/SQL
- Znajdź numer wiersza błędu w PL/SQL