SQL*Loader制御ファイルのフィールド・リストには、位置、データ型、条件、デリミタなど、ロードするフィールドの情報が提供されます。
例10-1に、「SQL*Loader制御ファイル・リファレンス」で説明したサンプル制御ファイルのフィールド・リスト・セクションを示します。
例10-1 サンプル制御ファイルのフィールド・リスト・セクション
. . . 1 (hiredate SYSDATE, 2 deptno POSITION(1:2) INTEGER EXTERNAL(2) NULLIF deptno=BLANKS, 3 job POSITION(7:14) CHAR TERMINATED BY WHITESPACE NULLIF job=BLANKS "UPPER(:job)", mgr POSITION(28:31) INTEGER EXTERNAL TERMINATED BY WHITESPACE, NULLIF mgr=BLANKS, ename POSITION(34:41) CHAR TERMINATED BY WHITESPACE "UPPER(:ename)", empno POSITION(45) INTEGER EXTERNAL TERMINATED BY WHITESPACE, sal POSITION(51) CHAR TERMINATED BY WHITESPACE "TO_NUMBER(:sal,'$99,999.99')", 4 comm INTEGER EXTERNAL ENCLOSED BY '(' AND '%' ":comm * 100" )
このサンプル制御ファイルの左側の数字は、実際の制御ファイルでは表示されません。これらの数字は、次の説明の番号に対応しています。
SYSDATE
に、列を現在のシステム日付に設定します。詳細は、「列への現在の日付の設定」を参照してください。
POSITION
に、データ・フィールドの位置を指定します。詳細は、「データ・フィールドの位置指定」を参照してください。
INTEGER
EXTERNAL
は、フィールドのデータ型です。詳細は、「データ・フィールドのデータ型の指定」および「数値型EXTERNAL」を参照してください。
NULLIF
句は、フィールド条件の指定に使用する句の1つです。詳細は、「WHEN、NULLIFおよびDEFAULTIF句の使用」を参照してください。
このサンプルでは、BLANKS
パラメータを使用して、フィールドを空白と比較しています。詳細は、「フィールドとBLANKSの比較」を参照してください。
TERMINATED
BY
WHITESPACE
句は、フィールドを指定できるデリミタの1つです。詳細は、「デリミタの指定」を参照してください。
ENCLOSED
BY
句は、もう1つの使用可能なフィールド・デリミタです。詳細は、「デリミタの指定」を参照してください。