У меня есть эта процедура:
PROCEDURE P_LOAD_EXPIRED_ACCOUNT
(
pDayDiff IN NUMBER,
ExpiredCur OUT MEGAGREEN_CUR
)
IS
BEGIN
OPEN ExpiredCur FOR
SELECT
ACCOUNT_NAME, SERVICE_TYPE,
CASE
WHEN SERVICE_TYPE = 1 THEN ADD_MONTHS(ACTIVATED_DATE,3)
WHEN SERVICE_TYPE = 2 THEN ADD_MONTHS(ACTIVATED_DATE,6)
WHEN SERVICE_TYPE = 3 THEN ADD_MONTHS(ACTIVATED_DATE,12)
END
AS EXPIRED_DATE
FROM SUBSCRIBERS
WHERE (EXPIRED_DATE - CURRENT_DATE) < pDayDiff;
END;
, но SQL Developer генерирует эту ошибку:
Ошибка (20,10): PL / SQL: ORA-00904: «EXPIRED_DATE»: недействительноидентификатор
Я считаю, что PLSQL позволяет мне использовать псевдоним в предложении Where, но есть ли что-то, что я забыл?
Заранее спасибо.