У меня есть таблица A. Если я сделаю запрос со встроенной функцией
with function f(n number) return varchar2 as
begin
return 'const string';
end;
select id, val, count, f(count) as value from A;
, результат будет следующим:
ID VAL COUNT VALUE
---------- -------------------- ---------- ---------------
1 car 4 const string
2 building 15 const string
Но если я попытаюсь усложнить функцию
with function f(n number)
return varchar2 as
begin
IF n < 5 THEN
return 'small';
ELSIF n < 50 THEN
return 'normal';
ELSE
return 'big';
END IF;
end;
select id, val, count, f(count) as value from A;
появляется сообщение об ошибке:
with function f(n number)
*
ERROR at line 1:
ORA-00905: missing keyword
В чем здесь проблема?Использую ли я правильный синтаксис для команды?