Заменить функцию не работает для длинных запросов в ORACLE / PLSQL? - PullRequest
0 голосов
/ 01 октября 2018

Я попытался запустить функцию замены для длинного запроса, вероятно, длиной более 4000, функция возвращает ошибку

ORA-01704: слишком длинный строковый литерал.

Есть ли другая альтернатива использования функции замены для замены символа в Oracle SQL?

Запрос:

Select REPLACE('VERY_LONG_QUERY','''','''''') FROM DUAL;

1 Ответ

0 голосов
/ 01 октября 2018

Я не уверен, работает ли он в 11g или какая у вас версия Oracle, но у меня это работает в 12c (попробовал из Sql последняя версия для разработчиков).Чтобы использовать BIND переменные для назначения длинной строки, а затем выполнить SQL-запрос

VARIABLE VERY_LONG_QUERY VARCHAR2(32767);
EXEC :VERY_LONG_QUERY := 'select * from something...........greater than 4000';
Select REPLACE(:VERY_LONG_QUERY,'''','''''') FROM DUAL;

Аналогично, это должно работать нормально, если я делаю это в PL / SQL.

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