欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

oracle - for in loop 循环更新

程序员文章站 2022-08-17 14:20:51
用法:目的更新B表的数据 查询出A表的字段,命名为表1。然后更新B表 实例: ......

用法:目的更新b表的数据

查询出a表的字段,命名为表1。然后更新b表

begin
 for 表1 in (
select [匹配字段],[更新字段] from a表
 ) loop
update b表
set b表.[需要更新字段]= 表1.[更新字段];
where
 b表.[匹配字段]= 表1.[匹配字段];
end loop ;
end;

实例:

begin
 for r in (
  select
   a .*,
   b.shortlist_expire_date old_shortlist_expire_date
  from
   tmp_20180126_zsx a,
   sp_partner_info b
  where
   a .partner_code = b.partner_code
 ) loop
update sp_partner_info
set shortlist_expire_date = r.shortlist_expire_date
where
 partner_code = r.partner_code;
end loop ;
end;