高手再再救急,以下的 strWhere 作为参数值,为何传不进去值?书写的语法有何问题呢? 你把 strWhere 直接放在select语句内,难道指望ORACLE预先给你制定了这样的SELECT语法?通常,此时你必须得用动态语句定义游标.CURSOR cSearch IS 'select ...' || strWhere || '...'; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这样构造的游标是不行的,需要用动态游标进行定义。除非你指定了where子句中的具体项目。而且,最好不要用中文字段名。 动态游标declare TYPE t_refcur is ref cursor ; cs_tmp t_refcur; v_val1 tab1.col1%type; v_val2 tab1.col2%type;begin OPEN cs_tmp for ' SELECT col1 , col2 FROM tab1 WHERE 1 = 1 ' || strWhere ; --fetch value fetch cs_tmp into v_val1 , v_val2; end;其他使用可定义record 或者 最近这样的问题好多啊怎么就不能自己翻一翻呢sql语句用str来表示然后execute immediate str就可以了str写法见1楼 Oracle 连接池 pl/sql 如何自动导出某表的记录为CSV文件呢? oracle 实现一个查询语句(合并时间段有交叉重复) 为什么oracle游标没有值????? 高分求教,MSSQL的一个数据库转换成ORACLE要求稳定转换 多行值插入多列 求助oracle10g快揵版移至oracle10g企业版 在线等 请问oralce的to_char是否支持毫秒级的转换 ~~~~~口令的问题,敬请关注!!!!~~~~~~~~~~~ 一个无聊的问题 怎样加大oracle的进程限制呀??谢了。 一个对我来说很难的问题????真的很难
cs_tmp t_refcur;
v_val1 tab1.col1%type;
v_val2 tab1.col2%type;
begin OPEN cs_tmp for ' SELECT col1 , col2 FROM tab1 WHERE 1 = 1 ' || strWhere ;
--fetch value
fetch cs_tmp into v_val1 , v_val2;
end;其他使用可定义record 或者
怎么就不能自己翻一翻呢sql语句用str来表示
然后execute immediate str就可以了
str写法见1楼