昨天网络有点问题,我发现一个问题:
     存储过程里有这条语句:
      for v in (select * from shipping_packing_sn where instruction_no=counter.instruction_no ) loop        select count(1) into vCount from ptsc_runcard where sn=v.sn;
        if vCount > 0 then
           update ptsc_runcard SET ship_time=sysdate where sn_key=v.sn_key;
        end if;
      end loop;这个循环只有部分的[color=#FF0000]ship_time被更新。[/color]
大侠们有碰到过这样的问题吗?我不是数据库管理员只是一个开发人员。

解决方案 »

  1.   

    定个job跑,就不怕断网 了
      

  2.   

    跑数据的脚本一般要放在服务器上跑!哪有人这样
    exception异常机制也没有处理
      

  3.   

    写个word没事害的ctrl+s呢,何况是数据
      

  4.   

    默认是会回滚的,如果没有执行到COMMIT命令
      

  5.   

    单看你的代码是不会出现你说的这种情况的,你的代码里面没有将事务提交,是不会更新数据库的。
     for rd in curDes loop    insert into impdata
          (sortline_code, updown_name, customer_name, pack_seq)
        values
          (rd.sortline_code, rd.updownLine, rd.customer_name, rd.pack_seq);  end loop;
      commit;