我想实现数据同步功能,我只能操作上海的数据库如数据库A北京IP:219.145.145.14,表AA有字段A1,A2,
数据库B上海IP:214.157.145.14,表BB有字段A1,A2,A3我想当表AA有添加,删除,修改操作时,表BB同步更新,且A3值统一为1这个触发器应该如何写呀 ?
数据库B上海IP:214.157.145.14,表BB有字段A1,A2,A3我想当表AA有添加,删除,修改操作时,表BB同步更新,且A3值统一为1这个触发器应该如何写呀 ?
--创建链接服务器
exec sp_addlinkedserver 'ITSV','','SQLOLEDB','219.145.145.14'
exec sp_addlinkedsrvlogin 'ITSV','false',null,'用户名','密码'
--查询示例--有的库权限不一定是 dbo
select * from ITSV.数据库名.dbo.AA
---导入AA表的数据delete RepairBillINSERT INTO RepairBill( A1,A2 )
SELECT A1,A2
FROM ITSV.数据库名.dbo.AA
-- WHERE A3='1'
WHERE ITSV.数据库名.dbo.A3=1
这是我所知道的解决方法.曾经和你的想法一样.但是没有权限在AA表中.
所以我用的是此方法.
可以再加上条件,过滤掉已经增加的数据.如最后一次操作时到AA表中主键的最大值(需要在存储此值)
改为:--创建链接服务器
exec sp_addlinkedserver 'ITSV','','SQLOLEDB','219.145.145.14'
exec sp_addlinkedsrvlogin 'ITSV','false',null,'用户名','密码'
--查询示例 --有的库权限不一定是 dbo
select * from ITSV.数据库名.dbo.AA
---导入AA表的数据
INSERT INTO BB( A1,A2 )
SELECT A1,A2
FROM ITSV.数据库名.dbo.AA
-- WHERE A3='1'
WHERE ITSV.数据库名.dbo.A3=1