为什么游标把最后一条添加2次?

解决方案 »

  1.   

    因为你的数据已经读完了,而你还在执行循环继续fetch。
      

  2.   

    对!
    fetch语句之后,应该立即执行exit语句,判断是否退出!
      

  3.   

    FETCH c1   
    INTO tmp, v_name;
    EXIT WHEN c1%NOTFOUND;这样才行。
      

  4.   

    EXIT 语句要紧接着 PETCH 语句
    而不能放在输出纪录语句之后!!
      

  5.   

    OPEN cur_GetQryPhone FOR t_vSQL;
            LOOP
                FETCH cur_GetQryPhone
                    INTO t_vValue;
                EXIT WHEN cur_GetQryPhone%NOTFOUND;
                cp_hb_inn_split_string(randnum,
                                       '$',
                                       t_vValue,
                                       'QRYPHONE',
                                       ErrMsg);
            
            END LOOP;这是一个典型的例子!