Причината за грешката PLS-00323 в Oracle е несъответствие в декларацията на процедура или функция в спецификацията на пакета и тялото на пакета. За да разрешите това, предприемете следните действия.
Отстранете PLS-00323 грешка в Oracle
- Проверете спецификацията на пакета за всички функции и декларации за процедури, които трябва да съвпадат с телото на пакета. По-долу е даден пример за несъответстваща процедура.
Спецификация на пакета
CREATE OR REPLACE PACKAGE emp_pkg IS PROCEDURE update_comm (i_comm IN emp2.sal%TYPE); a number; END emp_pkg; /
Тяло на пакета
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; /
- Можете да видите, че маркираната по-горе част от кода има разлика. В спецификацията е emp2.sal%type , а в тялото е emp2.comm%type .
- За да разрешите тази промяна, ако е подходящо. Например променете sal на comm в спецификация или comm to sal в тялото.
Надявам се това да помогне.
Вижте също:
- Пример за повдигане на грешка в приложението в PL/SQL
- Намерете номера на реда за грешка в PL/SQL
-
6 начина за избор на дублиращи се редове в Oracle
-
Вземете тип данни на полето в оператор select в ORACLE
-
RANK, DENSE_RANK и ROW_NUMBER функции в Oracle
-
Какво всъщност използва LISTAGG с ORDER BY NULL като критерии за поръчка?
-
Грешка в Oracle .Net ManagedDataAccess:Не можа да се зареди тип 'OracleInternal.Common.ConfigBaseClass' от сборка