① 怎麼對比出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;
紅框部分的數據就是有差異的內容。