每次取一千条,操作完毕再继续取:
select * from a where rownum<=1000
因为操作完毕就要么删除,要么保留,但这些被保留的下次还要继续操作。

解决方案 »

  1.   

    你自己的想法是可以实现的、比较合理,只是你在遍历一次完了,要参数重置的问题,
    可以这样取得一个表的数目:
    select count(*) from tab1;
    jiezhi(西域浪子)的方法是不可取的(对不起,我只是针对这个问题),因为如果当前面1000条数据是错误的,也就是永远不能处理成功的话,那么这种方法,就死循环下去了。
      

  2.   

    en,谢谢w_tsinghua(清华的同学)的提醒
      

  3.   

    扫描数据库过程:
    1. 首先扫描级高级别的记录,type=1;
    2. 再扫描失效数据,直接送到b表
    3. 再扫描定时发送的数据。
    SetTimeFlag=1 并且时间相等。
    4. 再扫描普通的记录。
    SetTimeFlag=0;这次应该差不多了的,卡卡