关于oracle批量处理数据

用游标逐条数据更新实在是太慢了,并且在同一个表中进行一系列的查询后删除、删除后插入很有可能会循环过载,因此批量处理数据很重要,下面是我在项目中写的一小部分存储过程的部分功能操作,主要实现的是把同类数据的数量相加后重新插入数据,去除其余重复数据,废话不说,上代码

begin
    --V_STEP    := 5;
    insert into T_BU_FUTURE_ORDER_EI_TMP
        (FACTORY_CODE,
         Ei_Code,
         Car_Type_Code,
         Produce_Date,
         CAPACITY,
         MODIFIER)
        select FACTORY_CODE,
               Ei_Code,
               Car_Type_Code,
               Produce_Date,
               sum(t.capacity),
               'sum'
          from T_BU_FUTURE_ORDER_EI_TMP t
         where 1 = 1
         group by FACTORY_CODE, Ei_Code, Car_Type_Code, Produce_Date;
  end;
  begin
    delete T_BU_FUTURE_ORDER_EI_TMP t
    where t.modifier != 'sum';
  end;

posted on 2017-04-09 10:23  攻速鞋  阅读(416)  评论(0编辑  收藏  举报

导航