oracle中表数据之间的差异

时间:2018-10-03 10:40:54

标签: sql oracle oracle11g

我有一个特殊的场景,我们需要将GoldCopy与开发环境进行比较,然后将开发环境与Goldcopy环境进行同步。 我能够找出两个环境之间的差异(没有记录不匹配),但是在开发环境中修改相同数据的情况下我遇到了困难。

例如,我在GoldCopy和开发环境中有一个表Employee。

在此表中,我们有一个员工ID作为EMP1。

“员工”表中的“地址”列已在“金牌复制”中更新为 “ New Jersey,US”。但是“开发环境”中此列的值为“ New York,US”。我无法在查询中找到此类差异。

用于数据comparo的查询如下。

select * from (
   select id, name, 
   sum(case when src=1 then 1 else 0 end) cnt1, 
   sum(case when src=2 then 1 else 0 end) cnt2 
from 
   ( 
   select id, name, 1 src from Employee 
   union all
   select id, name, 2 src from Employee@GOLD
   ) 
group by id, name
) 
where cnt1 <> cnt2;

0 个答案:

没有答案