如何实现多个SQL数据库同样结构的表同步更新!

一台电脑上有5个数据库A1,A2,A3,A4,A5,这五个数据库里都有相同结构的表table1和table2,现在想要实现任意一个数据库中的table1\table2记录... 一台电脑上有5个数据库A1,A2,A3,A4,A5,这五个数据库里都有相同结构的表table1和table2,现在想要实现任意一个数据库中的table1\table2记录增加减少或者修改,同时更新其他4个数据库记录!
求教高手
只有这2张表的结构是一样的,有多个系统,每个系统一个数据库,这2张表每个系统都要用而且一个系统中更新,其它的要同步更新!!
展开
 我来答
传说中的鹰王
推荐于2018-03-13 · TA获得超过1053个赞
知道小有建树答主
回答量:923
采纳率:87%
帮助的人:540万
展开全部
在每个数据库的table1\table2都建立插入、删除、修改触发器
如在A1上
ceate trigger dbo.table1_u on A1.dbo.table1 for insert,update,delete as
IF @@rowcount = 0 RETURN

declare @no_i int -- 假设no为关键字
--declare 其他字段

declare @no_d int -- 假设no为关键字
--declare 其他字段

--赋值
select @no_i =no ,--其他值
from inserted
select @no_d =no ,--其他值
from deleted

--判断@no_d,@no_i 是否在A2,A3,A4,A5的表中存在
--1、如果@no_d,@no_i 都存在,则用新值更新A2,A3,A4,A5的talbe1
--2、如果@no_d不存在@no_i存在,则将新值插入A2,A3,A4,A5的talbe1
--3、如果@no_d存在@no_i不存在,则删除A2,A3,A4,A5的talbe1对应的值
if exists(select 1 from A2.dbo.talbe1 where no = @no_d) and
exists(select 1 from A2.dbo.talbe1 where no = @no_i)
begin
--修改A2数据库的表
end
...............................
qianlei93033
2011-03-28 · TA获得超过377个赞
知道小有建树答主
回答量:612
采纳率:0%
帮助的人:370万
展开全部
倒不如写个外部程序直接判断数据库内容增加或者减少,不过很奇怪,既然表都是一样的为什么不直接只访问一个数据库呢?而且还是同一台电脑,而且要的是数据文件都一样,怕丢的话为什么不用自动备份?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
糖糖寳寳
推荐于2016-04-12 · TA获得超过6.4万个赞
知道大有可为答主
回答量:1.8万
采纳率:92%
帮助的人:3819万
展开全部
通过触发器可以实现:
create trigger test on 数据库名A.表c
insert,delete,update
as
begin
insert into 数据库名B.表d select ....from 数据库名A.表c
update....
delete ....
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
radgesoft
2011-04-03 · TA获得超过173个赞
知道小有建树答主
回答量:312
采纳率:100%
帮助的人:167万
展开全部
同步复制,由特定的1个对其他多个的复制是简单的,任意1个对其他多个的同步复制恐怕很难。与其解决这个复制难题,不如修改系统的架构来的简单些
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
蓝绿白c6
2011-04-13 · TA获得超过321个赞
知道小有建树答主
回答量:163
采纳率:0%
帮助的人:156万
展开全部
方法一:为每个表添加触发器。
方法二:在每个表添加数据的地方,同时写入其他数据库中的相应表。

当然最好是用第一个。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式