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 );
我使用的是 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 );