oracle - for in loop 循環更新

用法:目的更新B表的數據oop

查詢出A表的字段,命名爲表1。而後更新B表spa

BEGIN
 FOR 表1 IN (
SELECT [匹配字段][更新字段] FROM A表
 ) loop
UPDATE B表
SET B表.[須要更新字段]= 表1.[更新字段]WHERE
 B表.[匹配字段]= 表1.[匹配字段];
END loop ;
END;

實例:code

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;
相關文章
相關標籤/搜索