PL/SQL: clob 字符串中的动态查询。我怎样才能打开游标?

PL/SQL: dynamic query in clob string. How can i open a cursor?

我使用的是 Oracle 10g,但 Query_string 的 Open 有问题。

该查询字符串是一个动态查询,它有超过 7000 个字符。

如何使用 varchar2(在 10g 中只接受最大长度为 4000)打开游标?目前我尝试使用 CLOB 而不是 open..for 不接受它。

在header中声明:TYPE tref IS REF CURSOR;

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

   OPEN tref FOR SQL
END

不接受的版本 10g 是:

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

   OPEN tref FOR SQL
END

感谢

好的伙计们

我得到了解决方案,当你有CLOB时,你可以使用dbms_lob.substr...

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