MERGE INTO [your table-name] [rename your table here] USING ( [write your query here] )[rename your query-sql and using just like a table] ON ([conditional expression here] AND [...]...) WHEN MATCHED THEN [here you can execute some update sql or something else ] WHEN NOT MATCHED THEN [execute something else here ! ]
作用:判斷B表和A表是否滿足ON中條件,如果滿足則執行滿足后面的update SQL,如果不滿足,則執行不滿足后面的insert SQL。
例子:
使用情況,例如:如果數據庫中存在數據就update,如果不存在就insert。
MERGE INTO TEST T1 USING (SELECT '2' as ID, 'newtest2' as NAME FROM dual) T2 on (T1.ID=T2.ID) WHEN MATCHED THEN UPDATE SET T1.NAME=T2.NAME WHEN NOT MATCHED THEN INSERT (T1.ID, T1.NAME) VALUES (T2.ID, T2.NAME );