日期:2014-05-17  浏览次数:20891 次

oracle存储过程游标变量sql问题。
OPEN ROW FOR 'select .....';
由于sql需要判断 所以我申请个变量
////////////////////

sqlstr varchar(4000);

 OPEN ROW FOR sqlstr;


sqlstr 这个变量超过4000 了 怎么办?有其他方法吗。

------解决方案--------------------
使用clob
SQL code

sqlstr clob;
OPEN ROW FOR sqlstr;

------解决方案--------------------
使用DBMS_SQL.PARSE()
------解决方案--------------------
sqlstr 这个变量超过4000 了 怎么办?有其他方法吗。

看看能不能把你的sql语句先创建成视图,然后再你的sqlstr里面去查这个视图 


------解决方案--------------------
那你就不要用变量接收了,直接execute 'sql...' ;