Я не уверен, работает ли он в 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.