17.2.5 列構成情報オプションの指定パターン
列構成情報オプションの指定パターンについて,入力データファイルの内容と,処理対象表の列定義の関係ごとに説明します。
- メモ
-
列構成情報オプションの具体的な指定例については,「17.3.2 CSV形式の表データをインポートする場合(列構成情報ファイルを指定する場合)」または「17.3.3 固定長形式の表データをインポートする場合」を参照してください。
(1) 入力データファイルのファイル形式がCSV形式の場合
入力データファイルのファイル形式がCSV形式の場合の,列構成情報オプションの指定パターンについて説明します。
(a) 入力データファイルのフィールドデータの並び順と処理対象表の列定義の順序が一致している場合
次に示す2つが一致している場合は,列構成情報ファイルを指定する必要はありません。
-
入力データファイルのフィールドデータの数と,処理対象表の列定義数
-
入力データファイルのフィールドデータの並び順と,処理対象表の列構成の順序
(b) 入力データファイルのフィールドデータの並び順と処理対象表の列定義の順序が異なる場合
入力データファイルのフィールドデータの並び順と,処理対象表の列定義の順序が異なる場合に,列構成情報オプションに指定する内容を示します。
- 列構成情報オプションに指定する内容
-
adbcolumninfo -n C1 -r 2 adbcolumninfo -n C2 -r 3 adbcolumninfo -n C3 -r 1
(c) 入力データファイルのフィールドデータの数が処理対象表の列定義数より少ない場合
入力データファイルのフィールドデータの数が処理対象表の列定義数より少ない場合に,列構成情報オプションに指定する内容を示します。
- 注※
-
入力データが空文字列の場合に,対象の列に実際に格納される値については,「17.8 入力データが空文字列の場合に格納される値」を参照してください。
- 列構成情報オプションに指定する内容
-
adbcolumninfo -n C1 -r 2 adbcolumninfo -n C2 -r empty_string adbcolumninfo -n C3 -r 1
(d) 入力データファイルのフィールドデータの数が処理対象表の列定義数より多い場合
入力データファイルのフィールドデータの数が処理対象表の列定義数より多い場合に,列構成情報オプションに指定する内容を示します。
- 列構成情報オプションに指定する内容
-
adbcolumninfo -n C1 -r 2 adbcolumninfo -n C2 -r 4 adbcolumninfo -n C3 -r 1
- 注
-
フィールドデータ3は,データインポートの対象外になります。
(e) 入力データファイルの特定のフィールドデータを処理対象表の複数列に格納する場合
入力データファイルの特定のフィールドデータを処理対象表の複数列に格納する場合に,列構成情報オプションに指定する内容を示します。
- 列構成情報オプションに指定する内容(例1)
-
adbcolumninfo -n C1 -r 1 adbcolumninfo -n C2 -r 1 adbcolumninfo -n C3 -r 2
- 列構成情報オプションに指定する内容(例2)
-
adbcolumninfo -n C1 adbcolumninfo -n C2 -r 1 adbcolumninfo -n C3 -r 2
- 注
-
列C1の-rオプションに1を指定した場合も,-rオプションを省略した場合も,列C1にはフィールドデータ1が格納されます。
(2) 入力データファイルのファイル形式が固定長形式の場合
入力データファイルのファイル形式が固定長形式の場合の,列構成情報オプションの指定パターンについて説明します。
(a) 入力データファイルのフィールドデータの並び順と処理対象表の列定義の順序が一致している場合
入力データファイルのフィールドデータの並び順と,処理対象表の列定義の順序が一致している場合に,列構成情報オプションに指定する内容を示します。
- 列構成情報オプションに指定する内容
-
set adb_import_input_record_size = フィールドデータ1〜3の長さと改行コードのバイト数の合計 adbcolumninfo -n C1 -p フィールドデータ1の先頭位置,フィールドデータ1の長さ adbcolumninfo -n C2 -p フィールドデータ2の先頭位置,フィールドデータ2の長さ adbcolumninfo -n C3 -p フィールドデータ3の先頭位置,フィールドデータ3の長さ
(b) 入力データファイルのフィールドデータの並び順と処理対象表の列定義の順序が異なる場合
入力データファイルのフィールドデータの並び順と,処理対象表の列定義の順序が異なる場合に,列構成情報オプションに指定する内容を示します。
- 列構成情報オプションに指定する内容
-
set adb_import_input_record_size = フィールドデータ1〜3の長さと改行コードのバイト数の合計 adbcolumninfo -n C1 -p フィールドデータ2の先頭位置,フィールドデータ2の長さ adbcolumninfo -n C2 -p フィールドデータ3の先頭位置,フィールドデータ3の長さ adbcolumninfo -n C3 -p フィールドデータ1の先頭位置,フィールドデータ1の長さ
(c) 入力データファイルのフィールドデータの数が処理対象表の列定義数より少ない場合
入力データファイルのフィールドデータの数が処理対象表の列定義数より少ない場合に,列構成情報オプションに指定する内容を示します。
- 注※
-
入力データが空文字列の場合に,対象の列に実際に格納される値については,「17.8 入力データが空文字列の場合に格納される値」を参照してください。
- 列構成情報オプションに指定する内容
-
set adb_import_input_record_size = フィールドデータ1〜2の長さの合計 adbcolumninfo -n C1 -p フィールドデータ2の先頭位置,フィールドデータ2の長さ adbcolumninfo -n C3 -p フィールドデータ1の先頭位置,フィールドデータ1の長さ
- 注
-
C2のadbcolumninfoオペランドは指定しません。
(d) 入力データファイルのフィールドデータの数が処理対象表の列定義数より多い場合
入力データファイルのフィールドデータの数が処理対象表の列定義数より多い場合に,列構成情報オプションに指定する内容を示します。
- 列構成情報オプションに指定する内容
-
set adb_import_input_record_size = フィールドデータ1〜4の長さと改行コードのバイト数の合計 adbcolumninfo -n C1 -p フィールドデータ2の先頭位置,フィールドデータ2の長さ adbcolumninfo -n C2 -p フィールドデータ4の先頭位置,フィールドデータ4の長さ adbcolumninfo -n C3 -p フィールドデータ1の先頭位置,フィールドデータ1の長さ
- 注
-
フィールドデータ3は,データインポートの対象外になります。
(e) 入力データファイルの特定のフィールドデータを処理対象表の複数列に格納する場合
入力データファイルの特定のフィールドデータを処理対象表の複数列に格納する場合に,列構成情報オプションに指定する内容を示します。
- 列構成情報オプションに指定する内容
-
set adb_import_input_record_size = フィールドデータ1〜2の長さの合計 adbcolumninfo -n C1 -p フィールドデータ1の先頭位置,フィールドデータ1の長さ adbcolumninfo -n C2 -p フィールドデータ1の先頭位置,フィールドデータ1の半分の長さ adbcolumninfo -n C3 -p フィールドデータ2の先頭位置,フィールドデータ2の長さ