首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

Sql 两表同步更新有关问题

2013-11-12 
Sql 两表同步更新问题表1ID NAMETELMAILC1C2C3C4 .....1XX123M3MM.COM2XX113M1MM.COM3XX6123M6MM.COM4XX13

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语句来同步。数据很大。每条都更新一遍有点不太现实

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

热点排行