PROCEDURE addkfxq
  AS
    CURSOR cur_olddata 
    IS
      SELECT * 
        FROM Money_UserInfo where mui_usernumber in ('606976994');
    v_olddata cur_olddata%ROWTYPE;
    
    v_addr VARCHAR2(80);
    v_scope VARCHAR2(8);  --小区编号
    v_tel VARCHAR2(20);
    v_cardno VARCHAR2(40);
    v_main NUMBER := 0;
    v_mainstop NUMBER := 0;
    v_sub NUMBER :=0;
    v_substop NUMBER := 0;  BEGIN
    OPEN cur_olddata;
    LOOP
      FETCH cur_olddata INTO v_olddata;
      EXIT WHEN cur_olddata%NOTFOUND;
上面是游标定义和打开部分,执行时报无效游标,但是循环里面的内容却是执行成功的!

解决方案 »

  1.   

    循环的内容只是对几张表的操作而已,很简单,只是select和delete和insert几个语句。执行完毕后我在数据库中查看了数据,看出循环部分执行成功了 
      

  2.   

    那就是游标循环执行到某一步时出错了吧
    加个exception部分
    将异常出现的地方导出
      

  3.   

    对向楼上说的那样加个exception捕获一下具体的异常信息。
    exceptionwhen others then
    dbms_output.put_line(sqlcode||sqlerrm);