merge into 语句用法

本文通过实例演示了如何使用Oracle SQL中的Merge Into语句来更新数据。首先创建了两张测试表lock1和lock2,并填充了不同的数据。然后利用Merge Into语句,将lock2表中的数据更新到lock1中,条件是两个表中的ID相等且lock1表中的comm字段与lock2表中的comm字段不同。

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

学习了一下merge into的用法,下面是实验过程


1.创建两张测试表lock1和lock2
create table lock1(id number(3),comm varchar(10));
create table lock2(id number(3),comm varchar(10));


2.对两张表插入测试数据
begin 
  for i in 1..20 loop
    insert into lock1 values (i,'one');
  end loop;
end;
--上面这句执行两遍,第二遍将one 改成two


begin 
  for i in 1..20 loop
    insert into lock2 values (i,'two');
  end loop;
end;


3.进行merge into 语句操作:
merge into lock1 a  --对表lock1进行操作
using lock2 b       --将表lock2用作对比表
on (a.id=b.id)      --关联条件,id相同
when matched then   --当关联条件匹配时 进行update操作对lock1表中的comm不同于lock2表的comm更新为lock2表的comm
  update set a.comm=b.comm
  where a.comm<>b.comm


4.执行结果
lock1表中的20条comm为one的数据被更新为了表lock2的comm two
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值