oracle - for in loop 循环更新

空扰寡人 提交于 2019-12-29 01:08:41

用法:目的更新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;

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!