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)



猜你喜欢

转载自blog.csdn.net/xiasihua88/article/details/38316973