SQL数据复制

来源:百度知道 编辑:UC知道 时间:2024/05/27 01:32:51
两个库,

A库里面的A1表有ID、a11、a22、a33.....列
B库里面的B1表有ID、B11、b22、b33.....列

目前需要从a11>b11 a22>b22 a33>b33

某些列属性不一样

不破坏B表原始数据

目前需要从a11>b11 a22>b22 a33>b33
是指:
a11放到b11 a22放到b22 a33放到b33 吗?

属性不一样,你的意思是类型不一样?
如果类型不一样,使用convert()函数来转换。下面答案中,没有写上这个,因为这个使用需要视你的实际情况。你自己参考一下这个函数说明,很简单。

如果,A中的ID在B中没有或部分有,则
insert B( ID, B11, b22, b33)
select ID, a11, a22, a33 from A
where not exists( select 1 from B where B.ID = A.ID)

如果,A中的ID在B中存在或部分存在,则执行完上面的代码之后,如果你要把这部分ID相同的数据也改成A中的数据使用UPDATE就行了,如果不改则到此结束。

use a
go
insert b.dbo.b1(b1,b2.....)
select a1,a2...
from a1