+ -
当前位置:首页 → 问答吧 → 比对表数据问题

比对表数据问题

时间:2011-11-12

来源:互联网

有两个数据库,所有表结构都一样,现在需要比较数据库A和数据库B。 
把数据库B中的所有表的记录不再数据库A对应表的记录插入到数据库A对应表中
比如数据库A和B都有table表
数据库A TABLE表记录:
FIELD1 FIELD2 FIELD3
 1 2 3
数据库B TABLE 表记录
FIELD1 FIELD2 FIELD3
1 2 3
4 5 6
数据库B表的 4,5,6这条记录不在数据库A 的table表中就把这条记录插入到数据库A 的表中

该怎么比对呢?

作者: smilyvm   发布时间: 2011-11-12

客户主要是想用两个服务器,一个主服务器一个客户端用的服务器,每个月低就把客户端的服务器数据备份出来然后数据追加到主服务器然后再把客户端服务器的数据清空(单据表清空,基础资料的保留)

作者: smilyvm   发布时间: 2011-11-12

软件是另外一个公司开发的。表没有主键

作者: smilyvm   发布时间: 2011-11-12

先建立服务器连接 db_links
然后 在数据库A 执行:

insert into table_name (FIELD1, FIELD2 ,FIELD3)
select FIELD1, FIELD2 ,FIELD3 from db_links.[数据库A]..table_name t
where not exists(select 1 from table_name where FIELD1=t.FIELD1 and FIELD2=t.FIELD2 
and FIELD3=t.FIELD3)

作者: lxpbs8851   发布时间: 2011-11-12

或者把数据库 B的数据导入到A也行。

作者: lxpbs8851   发布时间: 2011-11-12

表少不好处理,直接连接DB一个个表新增,建议楼主用一个固定的存储过程,定时间执行

最省事的就是做同步事务复制,B库同步到A库,A就接收资料就行了

作者: roy_88   发布时间: 2011-11-12