日期:2014-05-18  浏览次数:20529 次

将一个表中记录迁到另一个表,如记录存在则更新,不存在则插入如何实现
两个表a,b,字段相同,分别各有一个字段ID做为唯一标识,表b中记录数多于表a,并且部分包含表a中的记录,想将表b中记录更新到表a中,如a中存在和b表ID相同的记录则更新a表中记录,否则将b表中记录插入a表,请问如何实现,求详细SQL语句。因有原因不能采取先删a表记录,再插入b表记录。急望高手指点,多谢

------解决方案--------------------
UPDAFTE A
SET A.字段1 = B.字段1,
A.字段2 = B.字段2,
A.字段3 = B.字段3
FROM A,B
WHERE A.ID = B.ID ;

INSERT INTO A
SELECT * FROM B WHERE NO EXISTS(SELECT * FROM A WHERE A.ID = B.ID)