程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle數據比較的兩大妙招

Oracle數據比較的兩大妙招

編輯:Oracle數據庫基礎

我們是以Oracle兩張表的比較來說明Oracle數據的比較。這兩張表的Oracle數據的比較是可以用我們經常使用的方法,即手動的方法,來對其進行比較,或是通過SQL語句來比較,兩種方法各有所長。

在某些情況下,我們會需要比較兩張表的數據是否一樣。

假設有兩張表A與表B它們的字段相同,但是當中的Oracle數據可能不同,而且有些字段的數據還有可能為空。

方法一(手動):

把需要比較的兩張表的數據按照某種規則排序後導出為xls,這裡我直接用PL/SQL Developer導出。然後用把xls文件轉換成txt文件,這裡我用的是batconv轉換公式。現在我們就有了兩個txt文件。然後用beyond compare文件比較器比較內容。

優點:Oracle數據差異一目了然

缺點:比較費時。

方法二(通過Sql語句來比較):

創建表的語句:

  1. create table formula(  
  2. id varchar2(50) primary key  

自動生成的,唯一的。

  1. formulaName varchar2(50),  
  2. formulaContent varchar2(2000),  
  3. formulaType varchar2(20),  

當中除id不為空,其它三項均可能為空。

在Oracle 情況下如果兩張表的某個字段都為null則其通過A.*=B.*是比較不出來的。通過上面這個sql語句我們就可以找在A表中存在,但在B表中不存在的數據反過來可以查詢在B表中存在,但在A表中不存在的數據。若兩個查詢都為空,則說明兩張表的相應字段完全相同。

若這兩張表在不同的數據庫,則要通過建立DBLink。

優點:Oracle數據比較快,特別是在數據量比較大的數據優勢更加明顯,

缺點:比較時不能很快看出兩張表的差異。因為查詢的只是當中的某一張表。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved