問題:需通過PLSQL導十幾萬筆大量數據到Oracle數據庫中;
環境:已建好表中ID為GUID;
解決方法:先導數據到新建表(無GUID)中,然后再select sys_guid(),* into 表名 from 新表名;
導數據步驟(百度到的方法,試了好用):
step1:首先,可以不按照數據庫中的字段存放順序,編輯形成Excel表中的數據,
准備導入到oracle中:
step2:把Excel文件另存為(文本文件(制表符分隔)(*.txt))
在另存為之前要選中Excel中要另存為的數據,否則形成的txt文件可能導入不了plsql中:
進入PlSQL,選擇菜單欄中的工具>文本導入器,進入到文本導入器的頁面后,
先點擊“來自文本文件的數據”選項卡,然后點擊打開按鈕,選擇數據錄入.txt文件。
在選擇之前必須要把相應的Excel文件關閉,否則txt文件無法導入:
step4:此時“文件數據”中會顯示:

step5:在“配置”進行配置:

如果不將標題名勾選上,則會導致字段名也當做記錄被導入到數據庫中,影響正確錄入。
說明:由於在Excel中,超過15位的數字后三位會顯示為0,需要在輸入的數值前輸入英文單引號,這樣數值就能正常顯示了。
由於身份證號碼是18位的數字,所以其前面有一個單引號,可以通過(4)中的文件數據中看到身份證號碼相對應的字段值前面確實有一個單引號,
那么在配置中設置字段開始位置時,就應將相對位置設置為1。
step6:“結果預覽”中可以看到:

step7:點擊“到Oracle中的數據”選項卡:

step8:點擊下方的“導入”按鈕:

可以看到導入成功。

