ORACLE 更新插入数据

本文章主要作为备忘之用,路过的同学也可以看看。

对于一张表,如何判断数据已经存在执行更新操作,如果数据不存在则执行插入操作,看语法:

以SYS_USER 表为例,如果yhm、xm 已存在则更新联系方式,如果不存在则插入数据

MERGE INTO SYS_USER a
     USING (select #yhm# yhm,#xm# xm,#lxfs# lxfs from dual) b
     ON (a.yhm=b.yhm and a.xm=b.xm)
     WHEN MATCHED THEN
       UPDATE
          SET a.lxfs=b.lxfs  where a.yhm=b.yhm and a.xm=b.xm
     WHEN NOT MATCHED THEN 
       INSERT(yhm, xm, lxfs) VALUES(b.yhm,b.xm,b.lxfs);


 sybase:

如果两者的ID相同,则把A1表的对应字段更新到A2表中,语句如下:

update A2
set A2.v1=A1.v1,
A2.v2=A1.v2
from A1,A2
where A1.id=A2.id

把A1表有而A2表没有的数据插入到A2中去。

insert into A2
select * from A1 where A1.id not in (select A2.id from A2)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值