【原创】如何找出明细库中与生产库…

来源:互联网 发布:知行汽车江苏重大项目 编辑:程序博客网 时间:2024/05/01 22:25

问题描述:

   在流复制过程中,由于各种原因导致明细库中的数据与生产库中的数据不一致(以生产库为准),此时需找到这些不一致的数据,然后更新(或者删掉再重新插入)。

   注:这里的不一致仅包括非主键字段不同,不包括缺失数据,或者多余数据。缺失和多余的处理方式类似,详见http://blog.sina.com.cn/s/blog_62defbef0101o9gk.html。

解决方法:

利用minus语句。以表sb_kpxx为例:

select * from super.sb_kpxx a

          where (a.SB_NUM = b.SB_NUM
          AND a.KPLSH = b.KPLSH
          AND a.DWID = b.DWID) minus

select * from SUPER.SB_KPXX@SCDB.GZDS.GOV.CNb
        where (a.SB_NUM = b.SB_NUM
          AND a.KPLSH = b.KPLSH
          AND a.DWID = b.DWID);

这个语句得到了明细库中与生产库不一致的数据。

然后删掉,以生产库为准进行插入。

 

 

0 0
原创粉丝点击