表B的数据更新(或全表替代)到表A
表A(ID,客户编号,电话号码)
表B(ID,客户编号,电话号码)
1.将表B中的电话号码更新到表A,要求ID、客户编号一一对应(ID唯一,客户编号不唯一)
update A
set A.电话号码 = B.电话号码
where A.ID = B.ID
and A.客户编号 = B.客户编号
正确否?表A的记录比表B的少,有问题吗?
------------------------------------
2.或者,用表B的数据完全取代表A的数据,如何做?对A有什么隐性的影响?
sql
------解决方案--------------------update A
set A.电话号码 = B.电话号码 from B
where A.ID = B.ID
and A.客户编号 = B.客户编号
表A的记录比表B的少,没关系,语句只会修改AB表共有数据
完全覆盖A就把A删除,然后用B表数据填充就行了
delete from A
insert into A select * from B
如果ID自增,需要开启允许插入自增列的选项identity_insert
set identity_insert on A