如何比较两个不同数据库的表
有两个不同的数据库(SQL),分别有一个字段相同的表。请问如何比较这两个表,比较之后,如果发现两张表的数据不同,就提示。 问题点数:100、回复次数:6Top
1 楼Rubi(浪迹Csdn各个板块!MS-Borland-IBM-SUN-水区-在去哪里呢?)回复于 2006-07-03 15:29:06 得分 0
你的比较规则是什么样子的?Top
2 楼cncharles(旺仔)回复于 2006-07-03 15:34:07 得分 0
是在后台比较还是在前台比较, 如果在前台比较把两个数据集先按那个相同的字段排好
序再逐行比较. 如果后台比较: 用 sp_addlinkedserver 把另外一个数据
连接到现有的库中, 比喻说 Server1.DB1.Table1 为远程服务器的表.
Table为当前服务器当前库中的表, F为相同的字段
IF (SELECT COUNT(*) FROM [Table]) <> (SELECT COUNT(*) FROM Server1.DB1.Table1)
PRINT ('not Same')
ELSE
IF (SELECT COUNT(*) FROM [Table]) <>
(SELECT COUNT(*) FROM [Table] T2 INNER JOIN Server1.DB1.Table1 T1
ON T2.F=T1.F)
PRINT ('not Same')
ELSE
PRINT 'Same'
Top
3 楼Nwing(BeyondNw)回复于 2006-07-03 15:49:10 得分 0
同意Top
4 楼wudi_1982(向伴水学习|胃出血,住院中)回复于 2006-07-04 09:59:01 得分 0
旺仔说的就可以。
如果是前台,那可以用两个adoquery分别连接不同数据库的不同数据表。
如果是后台,直接用T-SQL写个存储过程就可以了。好像不一定要把数据先考过来。Top
5 楼soulhuman(邹浒文)回复于 2006-07-05 12:47:27 得分 0
谢谢各位指点。给分了Top
6 楼soulhuman(邹浒文)回复于 2006-07-05 12:49:50 得分 0
谢谢Top




