如有两张相同表结构的表:
test表:
test1表:
现在要找出两张表有差异的数据,需要用minus及union的方式查找出来,语句如下:
select t1.* from(select * from test
minus
select * from test1) t1
union
select t2.* from
(select * from test1
minus
select * from test) t2
查询结果如下,红框部分的数据就是有差异的内容。
你是两个数据库还是一个库下的两个USER!~如果是一个库里的两个user
SELECT * FROM SANWA_ADMIN.MU010,UCOOP.MC00030
在表前面加上用户名就可以了!~
你还是详细说下吧!~
方法一、用PL/SQL DEVELOPER 来比较1.登陆数据库A.
2.打开TOOLS菜单下的Compare User Objects
3.点Target Session,登陆数据库B
4.执行Compare
5.返回的是所有不同的对象以及更新语句[@more@]方法二、
1、对需要比较的表进行分析(可全表可抽样,自选),否则统计信息不准;
2、通过dba_tab_col_statistics表的column_name字段进行比较
select tz.table_name ,tz.column_name from dba_tab_col_statistics tz
WHERE tz.owner = 'BSS' AND TZ.TABLE_NAME LIKE 'BSS_%'
and (TZ.TABLE_NAME ,TZ.COLUMN_NAME) not in(
select TZT.TABLE_NAME ,TZT.COLUMN_NAME
from dba_tab_col_statistics@tz_bsstzt tzt
WHERE tzt.owner = 'BSS' AND TZT.TABLE_NAME LIKE 'BSS_%')
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)