*の方向性はどうでもいい

プログラミングなどの学習履歴として最初は書いてたけどもう何でもいいやと思って今に至る

SQL*Loaderのコントロールファイル書き方の一例

LOAD DATA

INFILE 'ファイル名'

BADFILE 'ファイル名.bad'

CONTINUEIF LAST <> '"'

INTO TABLE テーブル名

TRUNCATE

FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"'

TRAILING NULLCOLS(

    カラム1 DECIMAL EXTERNAL(10),

    カラム2CHAR(100),

    カラム3 CHAR(20000),

    カラム4 "TO_DATE(:カラム4, 'YYYY/MM/DD HH24:MI:SS')"

)

 

シェルスクリプト側で

sqlldr 接続先のDB control=コントロールファイル名 skip=1 log=ログファイル名

 

SQL*Loaderはログファイルを同じファイル内に追記することはできず、

上書いてしまう。

SQL*Loader側でDECIMAL EXTERNALの方はOracleでいうとNumber型にあたる。

CHAR(20000)の箇所はOracleではCLOB型にしています。

上記のは私が実際に使った一例です。