读书人

Sql 两表同步更新有关问题

发布时间: 2013-11-12 12:10:37 作者: rapoo

Sql 两表同步更新问题
表1
ID NAME TEL MAIL C1 C2 C3 C4 .....
1 XX 123 M3MM.COM
2 XX 113 M1MM.COM
3 XX 6123 M6MM.COM
4 XX 133 MM4M.COM
5 XX 43 MM5M.COM

表2
ID NAME TEL MAIL C1 C2 C3 C4 .....
1 XX 123 M3MM.COM
2 XX 113 M1MM.COM
3 XX 6123 M6MM.COM
4 XX 133 MM4M.COM
5 XX 43 MM5M.COM

实现:表2同步表1的数据。
现在已经实现了 删除和插入。 更新有什么简单方法实现? 比如表1 第3条数据的 TEL更改了。同步的时候需要更新表2. 还要要求速度。数据量很大。总不能全部更新一遍吧
这只是简单的。真是表中有很多很多列。
SQL两表同步;SQL同步更新;
[解决办法]
方法1,用复制工具进行同步,复制类型选事务.

方法2,在表1上建update触发器,


create trigger tr_表1 on 表1
for update
as
begin
update b
set b.[NAME]=a.[NAME],
b.[TEL]=a.[TEL],
b.[MAIL]=a.[MAIL],
b.[C1]=a.[C1],
b.[C2]=a.[C2],
b.[C3]=a.[C3],
b.[C4]=a.[C4]
from inserted a
inner join 表2 b on a.ID=b.ID
end

[解决办法]
触发器控制灵活,是一种较好的选择。缺点是会影响数据更新速度。
[解决办法]
引用:
项目需求不是时时同步。所以不能用触发器。 需求是每天执行SQL语句来同步。数据很大。每条都更新一遍有点不太现实

用复制工具进行同步,复制类型选事务型(只同步差异部分),设定期执行同步.

读书人网 >SQL Server

热点推荐