PL / SQL: динамический запрос в строке clob.Как я могу открыть курсор? - PullRequest
0 голосов
/ 22 ноября 2018

Я использую Oracle 10g и у меня проблемы с Open for Query_string.

, что строка запроса является динамическим запросом, она имеет более 7000 символов.

как я могу открыть курсорс varchar2 (который в 10g принимает только максимальную длину 4000)?На данный момент я попытался использовать CLOB вместо, но open..for не принимает его.

В шапке объявлено: TYPE tref IS REF CURSOR;

DECLARE
    SQL CLOB;    
BEGIN
   SQL := '...';

   OPEN tref FOR SQL
END

версия10 г не принимаются:

DECLARE
    SQL VARCHAR2(8000);    
BEGIN
   SQL := '...';

   OPEN tref FOR SQL
END

Thx

1 Ответ

0 голосов
/ 23 ноября 2018

Хорошо, ребята

У меня есть решение, когда у вас есть CLOB , вы можете использовать dbms_lob.substr ...

OPEN p_ref FOR dbms_lob.substr( SQL, 32000, 1 );
...