как исправить ORA-06575: пакет или функция находятся в ошибочном состоянии ошибки - PullRequest
0 голосов
/ 03 января 2019

Я ищу, чтобы создать пакет, уже есть рабочая процедура. Работая над функцией, шаг за шагом, я обнаружил ошибку «ORA-06575: пакет или функция PROJECT_LENGTH в недопустимом состоянии».

Цель этого состоит в том, чтобы в конечном итоге показать, как долго длился мой проект, от даты начала до конца в месяцах. Как мне исправить эту проблему?

Я пробовал разные подходы и примеры. Я проверил, все переменные верны.

create or replace FUNCTION project_length   
    (startDate IN DATE,   
    endDate IN DATE)   
return number   
is   
begin   
return floor(months_between(startDate,endDate)/12);   
end;   
/

ТЕСТИРОВАНИЕ

SELECT  projectname, project_length(startDate,endDate)  
FROM project 
WHERE project_length(startDate,endDate) > 0; 

Я ожидаю вывод, который будет состоять из projectName и Project Length, отображая количество месяцев, которое проект занял

1 Ответ

0 голосов
/ 03 января 2019

Просто используйте

alter function project_length compile;

Эта проблема возникает, когда один из зависимых объектов получил DDL.Возможно, у вас есть оператор внутри этой функции, здесь не раскрывается , ссылающийся на таблицу project и недавно добавленный в таблицу столбец project ( DDL, примененный к таблице )

На самом деле в представленном здесь коде нет зависимого объекта.Так что в коде этой функции должно быть что-то не так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...