欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数据库中两张表之间的数据同步实现思路(增加、删除、更新)Mysql、sqlserver

程序员文章站 2022-05-03 10:24:35
...

下载网站:www.SyncNavigator.CN 
 客服QQ1793040
----------------------------------------------------------


关于HKROnline SyncNavigator ***价格的问题

 数据库中两张表之间的数据同步实现思路(增加、删除、更新)Mysql、sqlserver

 

HKROnline SyncNavigator 8.4.1 非**版 *** 授权**教程
 

 数据库中两张表之间的数据同步实现思路(增加、删除、更新)Mysql、sqlserver

 

 

最近一直在研究数据库同步的问题,在网上查了很多资料,也请教了很多人,找到了一种通过快照复制的方法。研究了一番后发现之前就是用的这个方法,效果不是很好,果断放弃。经过了一番寻觅和他人指点,最后从一位热心网友那里得知一款很好用的软件—— SyncNavigator。

 

 

好东西就要拿出来跟大家分享,所以今天向大家介绍一下这款软件,及其一些使用方法。下面先看看它有什么强大的功能吧!

 

SyncNavigator的基本功能:

 

自动同步数据/定时同步数据
无论是实时同步/24小时不间断同步,还是根据计划任务(每小时/每日/每周/等)定时自动同步都能完全胜任。

完整支持 Microsoft SQL Server
完整支持 Microsoft SQL Server 2000 2005 2008 数据库类型。并能在不同数据库版本之间相互同步数据。

支持 MySQL 4.1 以上版本
支持 MySQL 4.1 5.0 5.1 5.4 5.5。并能在不同数据库版本之间相互同步数据。

无人值守和故障自动恢复
当数据库故障或网络故障以后,无需人工干预(或操作)自动恢复同步并确保数据完全准确,可靠。

同构数据库同步/异构数据库同步
SQL Server to SQL Server, MySQL to MySQL, SQL Server to MySQL 等都能轻松实现。

断点续传和增量同步
当同步完成(或中断)后,再次同步时能继续上一次的位置增量同步,避免每次都需要从头开始的问题。

分别创建增加、删除、更新的触发器(Trigger)来达到两张表之间数据同步的目的。

1:数据同步增加:
如有两张表——A表和B表,创建触发器使当A表插入数据后B表也同步插入数据。其中B表插入数据的字段需要同A表中的字段相对应。

CREATE TRIGGER 触发器名称 
ON A 
AFTER INSERT 
AS BEGIN INSERT INTO 
B表(B表字段1,B表字段2,B表字段3) 
SELECT A表字段1,A表字段2,A表字段3 
FROM INSERTED 
END

2.数据同步删除:
如有两张表——A表和B表,创建触发器使当A表删除数据后B表也同步删除数据。其中B表与A表应有相应主键关联。

CREATE TRIGGER 触发器名称 
ON A 
AFTER DELETE 
AS BEGIN DELETE B 
WHERE 
B表主键 IN( 
SELECT A表主键 
FROM DELETED) 
END

3.数据同步更新:
如有两张表——A表和B表,创建触发器使当A表数据更新后B表也同步更新数据。

CREATE TRIGGER 触发器名称 
ON A 
AFTER UPDATE 
AS 
update B 
SET 
B.B表字段1=A.A表字段1 
FROM 
B AS B,INSERTED AS A 
WHERE B.B表主键=A.A表主键

理解触发器里面的两个临时的表:Deleted , Inserted 。注意Deleted 与Inserted分别表示触发事件的表“旧的一条记录”和“新的一条记录”

一个数据库教程系统中有两个虚拟表用于存储在表中记录改动的信息,分别是:

Tables 虚拟表Inserted 虚拟表Deleted
新增时 存放新增的记录 不存储记录
修改时 存放用来更新的新记录 存放更新前的记录
删除时 不存储记录 存放被删除的记录