读出其中的表,用一循环,然后写一sql 语句将两个数据库的表做个查询就行了

解决方案 »

  1.   

    要是我就这么做 用UPDATE来用一个表的数据更新另一个表的数据
    当这个操作完成后,判断rowcount的值
    如果其大于零
    撤消事务
    并判断出有不同的数据
    反之
      

  2.   

    咦,这个想法有意思,update的时候不更新相同的字段的吗?
      

  3.   

    select * from OPENDATASOURCE(
             'SQLOLEDB',
             'Data Source=远程ip;User ID=sa;Password=密码'
             ).库名.dbo.表名用:select * from 表 where exists (select 1 from OPENDATASOURCE(
             'SQLOLEDB',
             'Data Source=远程ip;User ID=sa;Password=密码'
             ).库名.dbo.表名 where 列1=表.列1 and 列2=表.列2)
      

  4.   

    select * from OPENDATASOURCE(
             'SQLOLEDB',
             'Data Source=远程ip;User ID=sa;Password=密码'
             ).库名.dbo.表名用:select * from 表 where exists (select 1 from OPENDATASOURCE(
             'SQLOLEDB',
             'Data Source=远程ip;User ID=sa;Password=密码'
             ).库名.dbo.表名 where 列1=表.列1 and 列2=表.列2)
      

  5.   

    不同的记录用:select * from 表 where not exists (select 1 from OPENDATASOURCE(
             'SQLOLEDB',
             'Data Source=远程ip;User ID=sa;Password=密码'
             ).库名.dbo.表名 where 列1=表.列1 and 列2=表.列2)
      

  6.   

    用两表主键的左或者右连接, 得到NULL的值就是不同的记录,不行吗?
      

  7.   

    大力的方法可行~~要是oracle,两个记录相减就可以判断了,呵呵~~
      

  8.   

    不同的记录用:select * from Table where not exists (select 1 from OPENDATASOURCE(
             'SQLOLEDB',
             'Data Source=RemoteIP;User ID=sa;Password=Key'
             ).库名.dbo.表名 where 列1=表.列1 and 列2=表.列2)
      

  9.   

    如果字段很多的话,是否要…… where 列1=表.列1 and 列2=表.列2 and 列3=表.列3 ……)岂不是很烦琐。只有这种方法吗?
      

  10.   

    我运行过了,最好在OPENDATASOURCE(
             'SQLOLEDB',
             'Data Source=RemoteIP;User ID=sa;Password=Key'
             ).库名.dbo.表名 加上表的别名。即:
    OPENDATASOURCE(
             'SQLOLEDB',
             'Data Source=RemoteIP;User ID=sa;Password=Key'
             ).库名.dbo.表名 as a