笔记之:
例子:
表结构如下:
数据库DBA 的表A
- UID NAME
- 1 aizzw
- 2 wukong
- 3 zzw
数据库DBB 的表B:
- UID NAME
- 1 aizzw
- 5 wukong
- 7 zzw
数据库DBB的表C:
- XID XiaoMing
- 1 小贝
- 5 小宝
- 7 小涵
要求:
1.表B中的name和表A中相同的名字的ID同步
2.当表B中ID变动时,表C中的ID相应的也需要更新
3.表A与表B,表C不是在同一个数据库
如:表B的zzw的ID为7,同步后zzw的UID由7变成3,同时表C的XID的7也要变成3
分析:
这个在表B上家一个过渡列,问题就变的简单多了
- --添加id_temp临时列
- Alter table 表B add UID_temp int
- --同步UIDUID_temp=UID备用
- update 表B set UIDUID_temp=UID
- --查看UID_temp临时列
- select UID,UID_temp from AccountTable
- --同步与DBB相同账号的UID
- update 表B set 表B.UID=BBB.UID
- from BigS.dbo.表B BBB
- where BBB.UID=表B.UID
- --同步表C的XID
- update DBB.dbo.表C set 表C.XID = B.UID
- from 表B B
- where 表C.XID = B.UID_temp
- --删除UID_temp临时列
- Alter table 表B drop column UID_temp
本文转自 idyllic_cyty 51CTO博客,原文链接:http://blog.51cto.com/aizzw/460449