UpSert功能:
MERGE <hint> INTO <table_name>
USING <table_view_or_query>
ON (<condition>)
WHEN MATCHED THEN <update_clause>
WHEN NOT MATCHED THEN <insert_clause>;
eg:
create table ww_test(
id number,
name varchar2(30),
age number
);
create table ww_test2(
id2 number,
name varchar2(30),
age number
);
--将ww_test2中的记录合并到ww_test中(相同id的更新name,没有的插入)
merge into ww_test a
using ww_test2 b
on (a.id = b.id)
when matched then
update set a.name = b.name
when not matched then
insert values(b.id,b.name,b.age);