我在存储过程中定义了一个游标,带有参数,现在我的参数传进来有问题,代码如下
cursor  c_loop(p_idstr varchar2) is
select CountResultBillID,
       ItemIndex,
       EffectMode
  from CountResultBillDetail
 where CountResultBillID in p_idstr
 order by CountResultBillID,ItemIndex;
其中CountResultBillID是number(16),我的传入参数p_idstr是一个varchar2的字符串,它是由n个
CountResultBillID拼起来的,具体传入样式如:804,981,999,1042,0。
现在我打开游标的时候总是出错:异常ORA-01722: 无效数字
如果换成
cursor  c_loop(p_idstr varchar2) is
select CountResultBillID,
       ItemIndex,
       EffectMode
  from CountResultBillDetail
 where CountResultBillID in '('||p_idstr||')'
 order by CountResultBillID,ItemIndex;
也还是一样,我知道恐怕是传入的字符串的问题,但是不知道怎么解决,难道非要我在过程里先把p_idstr 分拆成单个CountResultBillID才行吗?
请各位指点,多谢了