SQL*LOADER 的使用小結

楊奇龍發表於2010-04-16
特轉載一下文章:http://**/viewthread.php?tid=13979&extra=&page=1
sql load的一點小總結 
 
sqlldr userid=lgone/tiger control=a.ctl 
LOAD DATA 
INFILE 't.dat' // 要匯入的檔案 
INFILE 'tt.date' // 匯入多個檔案 
INFILE * // 要匯入的內容就在control檔案裡 下面的BEGINDATA後面就是匯入的內容 
 
INTO TABLE table_name // 指定裝入的表 
BADFILE 'c:\bad.txt' // 指定壞檔案地址 
 
************* 以下是4種裝入表的方式 
APPEND // 原先的表有資料 就加在後面 
INSERT // 裝載空表 如果原先的表有資料 sqlloader會停止 預設值 
REPLACE // 原先的表有資料 原先的資料會全部刪除 
 TRUNCATE // 指定的內容和replace的相同 會用truncate語句刪除現存資料 
 
************* 指定的TERMINATED可以在表的開頭 也可在表的內部欄位部分 
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' 
// 裝載這種資料: 10,lg,"""lg""","lg,lg" 
// 在表中結果: 10 lg "lg" lg,lg 
// TERMINATED BY X '09' // 以十六進位制格式 '09' 表示的 
// TERMINATED BY WRITESPACE // 裝載這種資料: 10 lg lg 
 
TRAILING NULLCOLS ************* 表的欄位沒有對應的值時允許為空 
 
************* 下面是表的欄位 

col_1 , col_2 ,col_filler FILLER // FILLER 關鍵字 此列的數值不會被裝載 
// 如: lg,lg,not 結果 lg lg 

// 當沒宣告FIELDS TERMINATED BY ',' 時 
// ( 
// col_1 [interger external] TERMINATED BY ',' , 
// col_2 [date "dd-mon-yyy"] TERMINATED BY ',' , 
// col_3 [char] TERMINATED BY ',' OPTIONALLY ENCLOSED BY 'lg' 
// ) 
// 當沒宣告FIELDS TERMINATED BY ','用位置告訴欄位裝載資料 
// ( 
// col_1 position(1:2), 
// col_2 position(3:10), 
// col_3 position(*:16), // 這個欄位的開始位置在前一欄位的結束位置 
// col_4 position(1:16), 
// col_5 position(3:10) char(8) // 指定欄位的型別 
// ) 
 
BEGINDATA // 對應開始的 INFILE * 要匯入的內容就在control檔案裡 
10,Sql,what 
20,lg,show 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22664653/viewspace-659976/,如需轉載,請註明出處,否則將追究法律責任。

相關文章