我在存储过程中定义了一个游标:
cursor cur_emp(p_bm varchar2) is
select wzbm, sum(sl) sl from ecjk_jsyjd where wyh in ( p_bm ) group by wzbm;
使用该游标时的代码:
for c_emp in cur_emp(p_jsyjdbms) loop
....
end loop;
如果我传进去的参数是 10005, 游标可以正常执行; 但是如果传的参数是 10005,10006 游标的结果集数目总是0(游标里的查询语句单独执行的话肯定是有数据的),这是什么原因啊
------解决方案--------------------------------------------------------
不能这么用的。只是一个变量。
你可以写成两个变量的cursor形式,然后传两个变量。
------解决方案--------------------------------------------------------
游标只有一个变量 传两个当然错误了!
------解决方案--------------------------------------------------------
oracle 把 “10005,10006” 当成一个整体了, 解决方法: 1、执行2次 2、再加多一个 cursor 获取p_bm 值