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可以同時存在,也可以只存在一個。
