Я использую базу данных Oracle 11G. Я создал пакет, как описано ниже:Пакет в Oracle (ошибка при вызове)
create or replace package forward_emp is
Function emp_sal_avg return number;
Procedure emp_new_sal;
End forward_emp;
/
package created.
Затем я создал тело пакета:
create or replace package body forward_emp is
Function emp_sal_avg return number is
avg_sal emp.salary%type;
Begin
Select avg (salary) into avg_sal
from emp;
Return avg_sal;
End emp_sal_avg;
Procedure emp_new_sal is
Begin
Insert into Emp (salary) values (emp_sal_avg);
End emp_new_sal;
End forward_emp;
/
Package body created.
Теперь, когда я попытался назвать пакет его показывает ошибку.
Call forward_emp.emp_new_sal;
ORA- 06576: not a valid function or procedure.
Пожалуйста, помогите. Не удалось понять проблему.
Сохраненные процедуры запускаются с использованием команды 'execute' в Oracle - по крайней мере, в SQL * Plus и SQL Developer. –
Работает с командой выполнения. Я также создал другой пакет, но они выполняются командой «Вызов». Почему это происходит – user2788235
Другой пакет, о котором я говорил, состоит только из процедуры и никакой функции. Это причина. – user2788235