【燃眉之急】不同日起的同一字段如何对应更新(或替换)批量数据(约20000多)?表AC04结构如图(1): 其中字段aac001为唯一,且为主键。
表AC04中某一人的数据如图(2):
有两个问题(结构如上图所示),请DBA老师们给点化一下(不才,谢谢先啦):第一个问题: 
    如何写SQL实现批量调整,针对如上字段aae031(需要判断是否为空,若为空即封口;否则end)给封上对应月份的最后一天日期(如此情况的,数据量约2万多)?第二问题:
    如何写SQL实现批量调整,用2月份的amc001字段值1499.4(数据举例用)替换(或更新)1月份的amc001字段值1715.4(数据举例用)(如此情况的,数据量约2万多)?

解决方案 »

  1.   

    给你个批量更新的例子,自己照着该吧
    declare
       v_merchantno varchar2(200);
       v_compact_code varchar2(200);
       v_n number;
     begin
       v_n := 0;
       for rec in (select b.merchantno,b.compact_code from merchant b )       
         loop
         v_merchantno :=rec.merchantno;
         v_compact_code := rec.compact_code;
         update cooperator_detail a
            set a.merchantno=v_merchantno where  a.compact_code=v_compact_code;
         v_n := v_n + 1;
         if mod(v_n, 100) = 0 then
           v_n := 0;
           commit;
         end if;
       end loop;
     end;