Oracle根据符合条件的数据循环批量更新


   --批量对符合条件的表记录进行更新
  --aa代表查询出的符合条件数据的别名
  --aa后的表示需要符合的条件
  --loop后开始写更新操作
  --单表更新随机数
    begin
    for aa in (select COMMUNITY_ID
               from P_ATU_TEST_ORIGINAL where COMMUNITY_ID='0nlvre8ae6p8'
              ) loop
      update P_ATU_TEST_ORIGINAL set HTTP_DOWN_RATE=dbms_random.value(1,100),SINGLEFTP_DOWN_RATE=dbms_random.value(1,100),SINGLEFTP_UP_RATE=dbms_random.value(1,40) where  COMMUNITY_ID='0nlvre8ae6p8';
     end loop;
  end;
   

   --批量对符合条件的表记录进行更新
  --aa代表查询出的符合条件数据的别名
  --aa后的表示需要符合的条件
  --loop后开始写更新操作
  --多个表匹配  更新到另一个表中
begin
  for aa in (select a.objectid
               from geographic_info a, geographic_info_bf b
              where a.objectid = b.objectid
                and b.pgeocode = 'xxx') loop
    update geographic_info
       set qxcode = 'xxx', pgeocode = 'xxx'
     where objectid = aa.objectid;
  end loop;
end;

你可能感兴趣的:(Oracle根据符合条件的数据循环批量更新)