oracle中合并insert、update语句

本文介绍了UpSert功能的使用方法,通过MERGE语句实现数据的更新与插入操作。以两个示例表为例,详细展示了如何将一个表的数据合并到另一个表中,对于已存在的记录进行更新,不存在的则进行插入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值