oracle - for in loop 循環更新


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM