① 怎么对比出oracle两个数据库全表数据差异
如有两张相同表结构的表:
test表:
test1表:
现在要找出两张表有差异的数据,需要用minus及union的方式查找出来,语句如下:
1
2
3
4
5
6
7
8
9
select t1.* from
(select * from test
minus
select * from test1) t1
union
select t2.* from
(select * from test1
minus
select * from test) t2;
查询结果如下,红框部分的数据就是有差异的内容。
② oracle如何比较两个表数据的差异
如有两张相同表结构的表:
test表:
③ Oracle如何比较两张字段相同的表的记录差异
用 minus
insert into c (........,status)
select .......,0 from a
minus select ....,0 from b
另一部分也类似
④ oracle怎么比较两个数据库
方法一、用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_%')
⑤ Oracle如何查询两张表数据差异
用关键字minus,如A表比B表记录多则:
select A.id from A
minus
select B.id from B;
⑥ oracle如何比较两个表数据的差异
est表:
union
select t2.* from
(select * from test1
minus
select * from test) t2;
select t1.* from
(select * from test
minus
select * from test1) t1
union
select t2.* from
(select * from test1
minus
select * from test) t2;
红框部分的数据就是有差异的内容。