日期:2014-05-17  浏览次数:20395 次

不同数据库查找插入更新,求方法,求大侠指点!谢谢!!!
数据库:sql1   sql2   .开始的时候两个数据库中的数据都是一样的,结构数据行表什么都一样,各有表:
tb1   tb2   tb3   tb4 四个表中的ID都是自增长,例如下面表,原始时都是下面这些数据:

tb1                   tb2                    tb3                  tb4
id1 name1             id2  name2             id3   name3          id4 id1 id2 id3
1   aa                1     ff               1      qq            1    1  1    2
2   bb                2     gg               2      ww            2    1  2    3
3   cc                3     hh        3      ee            3    3  1    4
4   dd                4     jj               4      rr            4    2  1    1

tb4中数ID是根据前三个表的ID组合起来自动生成的,所有表的ID都是自动生成。

当 两个人甲、乙各去操作sql1,sql2,甲对sql1操作,乙对sql2操作。一段时间后 两个数据库中的数据各有增加,如何将sql1中新增加的

数据插入到sql2中去就当做新数据插入;求高人指点!!!!!!!!!!!!存储过程最好!
------最佳解决方案--------------------
这个时候最好用except(2005以后才有),这个是集合操作,速度快。由于ID自增,没啥可比性,除非你知道何时开始出现差异,那之前的数据可以不比较,否则全部要比较:
拿其中一个表做例子,其他的也一样,前提是结构一样:
找出b库中不存在,但是a存在的:

INSERT  INTO b.dbo.tb1
         SELECT  *
         FROM    ( SELECT    *
                   FROM      a.dbo.tb1
                   EXCEPT
                   SELECT    *
                   FROM      b.dbo.tb1
                 ) a

大家伙儿看看