oracle中合并insert、update语句

来源:互联网 发布:linux ping timeout 编辑:程序博客网 时间:2024/06/05 07:39

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);

原创粉丝点击