データの移行など、たくさんあるデータをまとめてインポートするときに便利なのが、SQLローダー。
お客様データとして、customer.txtとして準備する。
sqlplusなどで、テーブルを作成しておく。
入れ物(テーブル)と入れるもの(データ)が準備できたので、どうやっていれるか(制御ファイル)を用意する。
制御ファイルcustomer.ctlの中身
LOAD DATA
INFILE 'customer.txt'
TRUNCATE
INTO TABLE customer
FIELDS TERMINATED BY X'09' trailing nullcols
(
ID,
CUSTOMER_NAME ,
ZIP_CODE ,
CUSTOMER_ADDRESS ,
MODIFY_DATE "to_date(:MODIFY_DATE, 'yyyy.mm.dd')" ,
MEMO
)
データのロード(インポート)を実行する。
$ sqlldr username control=customer.ctl skip=1
usernameは、実際にはOracleユーザ名を渡す。
1行目はタイトル行なので、スキップする。
制御ファイルとしてcustomer.ctlを使って、ロードを実行する。
sqlldrは、パスを通していない場合は、フルパス指定することを忘れずに。