高手再再救急,以下的 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楼 求一SQL查询语句 一个查看Oracle会话挂起的问题,请给位老鸟帮忙看下,真的很急~万分感谢 对oracle 数据库必须知道那些? 一个基于struts的web工程的奇怪问题 oracle如何实现.net网页程序中导出和导入 求一oracle 語句--列出某年某月某旬的所有天數 为什么我建的索引sql语句不用? 请教各位,oracle中如何插入一个长字符串? 查询登记时间---需按时间段查询的问题,谢谢!!! 用sqlplus是不是无法查看blob类型数据? 怎样加大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楼