1. 程式人生 > >oracle通過load data 將資料匯入表中通過儲存過程進行批量處理

oracle通過load data 將資料匯入表中通過儲存過程進行批量處理

說明:雖然沒圖,但文字表述很清楚,自己做過的專案留著備用(這只是初版,比較繁瑣,但很明確)

準備工作做完之後,後期可直接使用。如後期excel資料有變更,只需改動對應的部分即可,不涉及改動的可直接使用。

實際操作步驟

  1. 依照excel資料模版格式準備好建表語句,將中間過渡表在對應12家村行資料庫中分別建立。(二步驟中的第2小步)
  2. 將excel補錄資料轉換成txt檔案匯入中間過渡表。(二步驟中的第3小步)
  3. 將提前準備好的儲存過程匯入各村行對應資料庫。(四步驟中的2小步)
  4. 各家村行執行匯入的儲存過程。(三步驟中的5小步)
  5. 完畢

注意:12家行資料庫獨立登入,需切換使用者分別登入,建議一家行執行完全部指令碼再切換。

  • 準備階段(以鎮賚(100)的貸款投向(1001)為例)
  1. 將對應Excel文件轉為.csv格式(必須嚴格按照下圖順序操作)

原始資料:

點選“WPS表格——》另存為——》(選擇你儲存的位置,後續做處理)”下圖紅框需格外注意,檔案型別必須為“CSV(逗號分隔)”,然後儲存。

出現下圖示識點選“確定”:

到此Excel轉.CSV檔案結束。

  1. 將.csv檔案轉為.txt檔案

找到剛轉的.CSV檔案:

給該檔案加字首(dhcc_),改字尾(.txt),出現下圖提示點選“是”。

開啟剛剛修改的檔案,格式如下:(注意將紅框那一行去掉,否則影響後期操作和資料的準確性)

下圖資料屬於正常資料。

到此,.CSV檔案轉為.txt檔案結束。

  1. 建立和dhcc_1001.txt對應中間過渡表:(注意欄位長度和型別)
  1. 建立和dhcc_1001.txt、中間過渡表dhcc_1001對應的dhcc_1001.ctl檔案(dhcc_1001.txt和dhcc_1001.ctl這倆檔案路徑需一致)注意圖中描述
  1. 建立在管理員視窗中呼叫dhcc_1001.ctl的命令

6.將中間過渡表的資料更新到對應資料庫的表中(這裡更新了合同表、申請表、臺賬表)

重複1——》6的步驟,將12家行所有Excel轉換為“.txt”檔案。建立對應的建表語句。建立“.txt”檔案對應的“.ctl”檔案和呼叫“.ctl”檔案的管理員視窗命令。

  1. “將中間過渡表的資料更新到對應資料庫的表中”的SQL語句和其他(無法進行批量處理的)SQL語句整合到一起(12家行分開)

下方的other.sql檔案包含所有鎮賚(100)需處理的資料,下方有其他資料沒截全。

到此,前期準備工作都已做完。

二.將補錄資料匯入中間過渡表

1.登陸對應資料庫:(比如鎮賚(100))

  1. 將寫好的建表SQL在對應鎮賚(100)庫中執行
  1. 往中間過渡表中匯入補錄資料

找到對應鎮賚(100)的命令語句:(下圖只是例項,具體參照實際做相應修改)。

在Windows系統的執行程式中輸入“cmd”,回車:

將命令語句複製,然後在管理員視窗中點選滑鼠右鍵——》貼上——》回車,即可將對應補錄資料直接匯入到對應中間過渡表中。

注意:每次只能執行一條“sqlldr”,一條一條複製、貼上。每家行執行該命令前必須先將對應中間過渡表建立。

到此,中間過渡表的補錄資料匯入完成

  • 建立和使用儲存過程
  1. 登陸到對應行鎮賚(100)的資料庫,找到Procedures檔案,右鍵——》新建

如下圖:

  1. 點選確定,在begin和end之間將“準備階段的第7小步”中的指令碼貼上進來
  1. 如下圖,點選執行按鈕,即可編譯,待編譯完成,儲存過程也就建立成功

(提示:指令碼後需加commit,否則當儲存過程執行完需手動提交)

  1. 重新整理Procedures檔案,會出現剛剛建立的儲存過程
  1. 選中儲存過程“other”,右鍵——》測試,點選紅框中的執行按鈕,該儲存過程即可執行

到此,儲存過程的建立和使用已結束。

  • 匯出和匯入儲存過程:每個行建一個儲存過程
  1. 匯出儲存過程:將剛剛建立的儲存過程other匯出到本地

工具——》匯出使用者物件——》選中該儲存過程——》選擇匯出路徑——》匯出

  1. 匯入儲存過程:將剛剛匯出的儲存過程匯入到資料庫

工具——》匯入表——》SQL插入——》在匯入檔案下方選擇本地的儲存過程——》匯入

儲存過程匯入之後就可在Procedures檔案下找到該儲存過程。如果需執行該儲存過程,進行“三步驟中的第5小步”操作即可。