水煮Oracle35----關於Oracle的sql*loader多表載入的容易忽略的position問題
一個簡單控制檔案的編寫:
--fields terminated by ',' enclosed by '"' ---如果資料的所有終止符號一樣,設定預設終止符:whitespace(空格、tab、換行、換頁、回車)/'string'
--badfile ---是指給的外部檔案中不符合終止要求,不入庫的資料
--discardfile---是指由when條件過濾掉的資料
--replace(先做delete,然後插入新行)、append(追加新行)、truncate(刪除資料,然後替換)、insert
--when ---條件過濾
--trailing nullcols ---資料檔案中沒有,但是控制檔案中有的列,這些列通過該語句置null
--nullif 條件、defaultif 條件
--begindata ---資料在控制檔案中
--filler:過濾欄位,不必在表中出現,主要用於when條件過濾,注意filler在position關鍵字前邊
--注意:sqlloader讀取平面檔案中的資料是按照行讀取的,即便是到下張表,也一直是按照行來讀取的,所以position應用就急為重要在多表載入中
Options(direct=ture)
Load data
infile 'D:\sqlloader\b.csv' badfile 'D:\sqlloader\b.bad' discardfile 'D:\sqlloader\b.dsc'
Append
into table a1
when rowsid='1'
trailing nullcols
(
rowsid filler char terminated by ',',
sex char terminated by ',',
Name char terminated by ',')
into table a2
when rowsid='2'
trailing nullcols
(
rowsid filler position(1) char terminated by ',',
sex1 char terminated by ',',
Name1 char terminated by ','
)
into table a3
when rowsid='3'
trailing nullcols
(
rowsid filler position(1) char terminated by ',',
sex char terminated by ',',
Name char terminated by ','
)
------------------------------------------------------------------------------------
The POSITION parameter in the second INTO TABLE clause is necessary to load this data correctly.
It causes field scanning to start over at column 1 when checking for data that matches the second format.
Without it, SQL*Loader would look for the recid field after dname.(摘之Oracle聯機文件)
------------------------------------------------------------------------------------
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23890223/viewspace-1081285/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JS:關於JS字面量及其容易忽略的12個小問題JS
- SQL Server 容易忽略的錯誤SQLServer
- 關於延遲載入,立即載入的問題
- H5 data-*容易忽略的問題H5
- 關於 Oracle 的資料匯入匯出及 Sql Loader (sqlldr) 的用法OracleSQL
- 關於JBossWebLoader類載入的問題Web
- oracle中容易忽略的後臺程式Oracle
- Java程式設計中最容易忽略的10個問題Java程式設計
- [SQL]關於Concatenated Groupings的問題[轉載]SQL
- 水煮六《——sql*plus工具的登入SQL
- 關於oracle中blob欄位的錄入問題Oracle
- oracle觸發器~ 更新多表的問題Oracle觸發器
- oracle sql loader 的使用OracleSQL
- 關於磁碟陣列,分割槽載入的問題(轉)陣列
- Oracle中最容易被忽略的那些實用特性Oracle
- 關於oracle的監聽問題Oracle
- 關於jdon的ioc的入門問題
- sql多表的關係介紹SQL
- Oracle\MS SQL Server的資料庫多表關聯更新UPDATE與多表更新OracleSQLServer資料庫
- 水煮oracle25-----關於儲存的幾個概念理解Oracle
- 【轉載】關於C#中動態載入AppDomain的問題C#APPAI
- SQL Server 致程式設計師(容易忽略的錯誤)SQLServer程式設計師
- SQL/Plus中的一些容易混淆的問題SQL
- 關於SQL的重複記錄問題SQL
- Oracle關於week的計算問題Oracle
- 關於Oracle字符集的問題Oracle
- Vue中那些容易被忽略的~Vue
- 【MySQL】最容易忽略的常識MySql
- 程式設計師容易忽略的SQL Server錯誤集錦程式設計師SQLServer
- 關於iOS Webview 載入React 靜態資源的安全問題iOSWebViewReact
- 關於sql語句的遊標共享問題SQL
- 15個關於HTML的入門問題HTML
- 學習oracle sql loader 的使用OracleSQL
- Oracle 的資料匯入匯出及 Sql Loader (sqlldr) 的用法OracleSQL
- 問一個關於oracle8的簡單的問題!Oracle
- 水煮oracle24---- oracle em 啟動報錯 相關問題解決Oracle
- 關於position的一些理解
- 關於 apache + tomcat 的負載均衡問題ApacheTomcat負載