field_list
句を使用して、データ・ファイルのフィールドおよびそのデータ型を識別します。field_list
句では、次のように評価します。
フィールドにいずれのデータ型も指定されない場合、データ型は、デリミタなしフィールドではCHAR(1)
、デリミタ付きフィールドではCHAR(255)
である。
いずれのフィールド・リストも指定されない場合、データ・ファイルのフィールドは外部表と同じ順序である。データベースの列がCHAR
またはVARCHAR
ではない場合、すべてのフィールドのデータ型は、CHAR(255)
となる。データベースの列がCHAR
またはVARCHAR
の場合、フィールドのデータ型はCHAR
のままであるが、その長さは255か列の長さでいずれか長い方の値となる。
いずれのフィールド・リストも指定されず、delim_spec
句も指定されない場合、データ・ファイルのフィールドは外部表のフィールドと同じ順序である。すべてのフィールドは、CHAR(255)
であり、カンマで終了する。
次の例では、field_list
およびdelim_spec
を含まない外部表の定義を示します。その後に、ロードが可能なデータ・ファイルのサンプルを示します。
CREATE TABLE emp_load (first_name CHAR(15), last_name CHAR(20), year_of_birth INT) ORGANIZATION EXTERNAL (TYPE ORACLE_LOADER DEFAULT DIRECTORY ext_tab_dir ACCESS PARAMETERS (FIELDS TERMINATED BY "|") LOCATION ('info.dat')); Alvin|Tolliver|1976 Kenneth|Baer|1963 Mary|Dube|1973
field_list
句の構文は次のとおりです。
field_name
field_name
は、データ・ファイルのフィールド名を識別する文字列です。文字列が引用符内にない場合、フィールド名は外部表の列名に一致され、大文字になります。
field_name
が問合せで参照される外部表の列名と一致する場合は、このフィールド値が外部表列の値に使用されます。名前が外部表で参照されたいずれの名前にも一致しない場合、フィールドはロードされません。ただし、このフィールドは句の評価(たとえば、WHEN
またはNULLIF
)には使用できます。
pos_spec
pos_spec
句を使用して、レコード内の列の位置を指定します。構文の詳細は、「pos_spec句」を参照してください。
datatype_spec
datatype_spec
句を使用して、フィールドのデータ型を指定します。datatype_spec
が指定されない場合、アクセス・ドライバは、データ型はCHAR(255)
であると想定します。構文の詳細は、「datatype_spec句」を参照してください。
init_spec
init_spec
句を使用して、フィールドがNULL
になる、またはデフォルトの値を設定されるタイミングを指定します。構文の詳細は、「init_spec句」を参照してください。