oracle中merge into用法


merge into語法:
    merge into [target-table] a using [source-table sql] b on([conditional expression] and [...]...)  
    when matched then  
        [update sql]  
    when not matched then  
        [insert sql]  

作用:判斷B表和A表是否滿足on中條件,如果滿足則用b表去更新a表,如果不滿足,則將b表數據插入a表但是有很多可選項,如下:
1.正常模式
2.只update或者只insert
3.帶條件的update或帶條件的insert
4.全插入insert實現
5.帶delete的update(覺得可以用3來實現)

 

舉例:

MERGE INTO T_R_FR_ETFCNSS_BOOK E
  USING (SELECT N_REC_MONEY, C_SSTD_WAY FROM   T_R_FR_ETF_MAIN) G
    ON (E.C_SSTD_WAY = G.C_SSTD_WAY)
WHEN MATCHED THEN
  UPDATE SET E.N_REC_MONEY = G.N_REC_MONEY

WHEN NOT MATCHED THEN 

  INSERT INTO ...

解析:就是將這張表T_R_FR_ETF_MAIN的N_REC_MONEY這個字段更新到T_R_FR_ETFCNSS_BOOK這張表中,

    條件是ON后面滿足E.C_SSTD_WAY = G.C_SSTD_WAY時,如果不滿足則插入。

update跟insert可以同時存在,也可以只存在一個。

 


免責聲明!

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



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