Я использую Oracle Apex и создаю отчет, основанный на возврате sql из тела pl sql.
Вот как выглядит мое утверждение:
DECLARE
l_query varchar2(1000);
BEGIN
l_query := 'SELECT ' || :P10_MYVAR || ' from dual ';
return l_query;
END;
Я получаю следующее сообщение об ошибке:
ORA-20999: Parsing returned query results in "ORA-20999: Failed to parse SQL query! <p>ORA-06550: line 3, column 25: ORA-00936: missing expression</p>".
Если я пытаюсь без каких-либо переменных связывания, он компилируется нормально:
DECLARE
l_query varchar2(1000);
BEGIN
l_query := 'SELECT sysdate from dual ';
return l_query;
END;
Я не понимаю, почему происходит эта ошибка. Если я запускаю команду непосредственно в базе данных:
SELECT :P10_MYVAR from dual
Это работает нормально. Почему я получаю эту ошибку?