请教为什么我用游标只能取到一条记录?我的过程相关代码如下:tmp_userobstacases_row    tmp_userobstacases%rowtype;
...
INSERT INTO tmp_userobstacases (begintime, endtime, error_typ, error_pheno, error_check_rst, process_mode, s_user_name, createtime, error_no)
  SELECT a.begintime, a.endtime, '', '', '', a.source, '', SYSDATE, a.error_no
  FROM t_accept_cases a 
  WHERE a.a_user_id = 'A2006100813523600000';  
   
 OPEN pointer FOR SELECT * FROM tmp_userobstacases;
LOOP
        FETCH pointer INTO tmp_userobstacases_row;
            EXIT WHEN pointer%NOTFOUND;
...END LOOP;在调试时发现pointer的rowcount为1,但INSERT时明明在tmp_userobstacases中插了多条记录。
我用的是oracle9i,请高手指点迷津,谢谢!

解决方案 »

  1.   

    INSERT INTO tmp_userobstacases (begintime, endtime, error_typ, error_pheno, error_check_rst, process_mode, s_user_name, createtime, error_no)
      SELECT a.begintime, a.endtime, '', '', '', a.source, '', SYSDATE, a.error_no
      FROM t_accept_cases a 
      WHERE a.a_user_id = 'A2006100813523600000'; 最多只有一条记录阿!
      

  2.   

    多谢Eric的参与,问题已解决,是我对Oracle游标的rowcount认识不对,在这里rowcount等于1是正常情况的