Ошибка в определении этого параметра
p_hireyear VARCHAR2(4)
Не разрешается определять размер переменной при определении аргументов процедуры.
Просто измените ее на
p_hireyear VARCHAR2
Кроме того, поскольку p_hireyear
является параметром IN
(по умолчанию, если явно не указано IN
или OUT
), вы не можете присвоить ему значение.
Вы могли быreceive
PLS-00363: выражение 'P_HIREYEAR' нельзя использовать в качестве цели назначения
Оно должно быть назначено при передаче аргументов процедуры.
declare cur SYS_REFCURSOR;
BEGIN
spemp94_display('1994',cur); -- specify the value here not inside the procedure.
END;
/