簡體   English   中英

如何將 CSV 文件中的數據與 Oracle 表中的數據進行比較?

[英]How to compare the Data in CSV file with Data in the Oracle table?

在這里,我們在 Oracle 中有一張表,我將該表數據復制到 CSV 文件中。 現在我們要比較數據是否正確。

可以使用SQL Loader(搜索“ oracle sqlldr csv”以獲取信息)將CSV加載到登台表中,然后使用SQL MINUS / INTERSECT類型查詢比較/報告差異。 或者,使用SQLPlus假脫機(搜索“ oracle sqlplus csv spool”)將表數據提取到CSV文件中,然后在文件上使用diff。

我的建議是第一種方法,因為這將使進行數據的任何進一步處理變得更加容易。

您可以編寫一個存儲過程,將數據提取到csv中。 然后,您可以將此csv與現有的csv進行比較。 比較時,使用linkedhashmap存儲csv,其中map的鍵將是數據庫的主鍵,value是與該鍵對應的整行。 現在,您有兩個地圖,一個用於舊數據,另一個用於新數據。 您的比較將為O(1)。 存儲成本很高,但檢索速度更快。

如果您的 CSV 文件在 DB 目錄中,您可以創建外部表以從 CSV 文件中獲取數據,然后進行比較

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM