本文章主要作为备忘之用,路过的同学也可以看看。
对于一张表,如何判断数据已经存在执行更新操作,如果数据不存在则执行插入操作,看语法:
以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)