oracle

Oracle SQL*Loaderコマンド

SQL*Loader(sqlldr)サンプル

ロード先テーブル
create table temp_address
(
 address_cd      varchar(12 char)
,pref_cd         varchar(2 char)
,city_cd         varchar(5 char)
,town_cd         varchar(9 char)
,postal_cd       varchar(8 char)
,office_flg      integer
,obsolete_flg    integer
,prefectures     varchar(10 char)
,pref_kana       varchar(30 char)
,city            varchar(40 char)
,city_kana       varchar(60 char)
,town            varchar(40 char)
,town_kana       varchar(60 char)
,town_sup        varchar(60 char)
,kyoto_epithet   varchar(60 char)
,section_chome   varchar(60 char)
,section_kana    varchar(60 char)
,supplement      varchar(300 char)
,office_name     varchar(300 char)
,office_kana     varchar(300 char)
,office_addr     varchar(60 char)
,new_address_cd  varchar(60 char)
)
;
comment on table temp_address is '住所マスタCSV取込';
comment on column temp_address.address_cd is '住所CD';
comment on column temp_address.pref_cd is '都道府県CD';
comment on column temp_address.city_cd is '市区町村CD';
comment on column temp_address.town_cd is '町域CD';
comment on column temp_address.postal_cd is '郵便番号';
comment on column temp_address.office_flg is '事業所フラグ';
comment on column temp_address.obsolete_flg is '廃止フラグ';
comment on column temp_address.prefectures is '都道府県';
comment on column temp_address.pref_kana is '都道府県カナ';
comment on column temp_address.city is '市区町村';
comment on column temp_address.city_kana is '市区町村カナ';
comment on column temp_address.town is '町域';
comment on column temp_address.town_kana is '町域カナ';
comment on column temp_address.town_sup is '町域補足';
comment on column temp_address.kyoto_epithet is '京都通り名';
comment on column temp_address.section_chome is '字丁目';
comment on column temp_address.section_kana is '字丁目カナ';
comment on column temp_address.supplement is '補足';
comment on column temp_address.office_name is '事業所名';
comment on column temp_address.office_kana is '事業所名カナ';
comment on column temp_address.office_addr is '事業所住所';
comment on column temp_address.new_address_cd is '新住所CD';
コントロール(ctl)ファイル
OPTIONS(ROWS=40000,READSIZE=209715200,BINDSIZE=209715200)
--,BINDSIZE=25600000,READSIZE=104857600
LOAD DATA CHARACTERSET JA16SJIS      --- 取込みファイルのエンコードを指定
INFILE "/tmp/csv/zenkoku.csv"        -- 取込みファイル名
APPEND                               -- 既存データに対して追加する場合
INTO TABLE TEMP_ADDRESS              -- ロードするテーブル名
FIELDS TERMINATED BY ','             -- カンマ区切り
OPTIONALLY ENCLOSED BY '"'           -- ダブルクォートで囲っている場合
TRAILING NULLCOLS                    -- 列が行中に存在しない場合NULLとして扱う
(
 address_cd      char(12)
,pref_cd         char(2)
,city_cd         char(5)
,town_cd         char(9)
,postal_cd       char(8)
,office_flg      integer EXTERNAL
,obsolete_flg    integer EXTERNAL
,prefectures     char(10)
,pref_kana       char(30)
,city            char(40)
,city_kana       char(60)
,town            char(40)
,town_kana       char(60)
,town_sup        char(60)
,kyoto_epithet   char(60)
,section_chome   char(60)
,section_kana    char(60)
,supplement      char(600)
,office_name     char(300)
,office_kana     char(300)
,office_addr     char(120)
,new_address_cd  char(60)
)
sqlldrの実行
sqlldr sooni/soopass@vm013/orau8 control=zenkoku.ctl skip=1
実行ログ
$ cat zenkoku.log

SQL*Loader: Release 12.1.0.2.0 - Production on 土 11月 5 00:48:06 2022

Copyright (c) 1982, 2014, Oracle and/or its affiliates.  All rights reserved.

制御ファイル:    zenkoku.ctl
キャラクタ・セットJA16SJISがすべての入力で指定されています。

データファイル/tmp/csv/zenkoku.csv
  不良ファイル:  zenkoku.bad
  廃棄ファイル:  指定なし

 (すべて廃棄できます)

ロード数: ALL
スキップ数: 1
許容エラー数: 50
バインド配列:    40000行、最大209715200バイト
継続文字:    指定なし
使用パス:      従来型

表TEMP_ADDRESS、 ロード済 すべての論理レコードから
この表に対する有効な挿入オプション: APPEND
TRAILING NULLCOLSオプションは有効です。

   列名                  位置   長さ  用語暗号化データ型
------------------------------ ---------- ----- ---- ---- ---------------------
ADDRESS_CD                         FIRST   12  , O(")CHARACTER
PREF_CD                             NEXT    2  , O(")CHARACTER
CITY_CD                             NEXT    5  , O(")CHARACTER
TOWN_CD                             NEXT    9  , O(")CHARACTER
POSTAL_CD                           NEXT    8  , O(")CHARACTER
OFFICE_FLG                          NEXT    *  , O(")CHARACTER
OBSOLETE_FLG                        NEXT    *  , O(")CHARACTER
PREFECTURES                         NEXT   10  , O(")CHARACTER
PREF_KANA                           NEXT   30  , O(")CHARACTER
CITY                                NEXT   40  , O(")CHARACTER
CITY_KANA                           NEXT   60  , O(")CHARACTER
TOWN                                NEXT   40  , O(")CHARACTER
TOWN_KANA                           NEXT   60  , O(")CHARACTER
TOWN_SUP                            NEXT   60  , O(")CHARACTER
KYOTO_EPITHET                       NEXT   60  , O(")CHARACTER
SECTION_CHOME                       NEXT   60  , O(")CHARACTER
SECTION_KANA                        NEXT   60  , O(")CHARACTER
SUPPLEMENT                          NEXT  600  , O(")CHARACTER
OFFICE_NAME                         NEXT  300  , O(")CHARACTER
OFFICE_KANA                         NEXT  300  , O(")CHARACTER
OFFICE_ADDR                         NEXT  120  , O(")CHARACTER
NEW_ADDRESS_CD                      NEXT   60  , O(")CHARACTER


表TEMP_ADDRESS:
  150018行のロードに成功しました。
  0行はデータ・エラーのためロードされませんでした。
  0行はWHEN句のエラーのためロードされませんでした。
  0行はすべてのフィールドがNULLのためロードされませんでした。

バインド配列に割り当てられた領域: 98160000バイト(40000行)
読取りバッファのバイト数: 209715200

スキップされた論理レコードの合計:           1
読み込まれた論理レコードの合計:        150018
拒否された論理レコードの合計:               0
廃棄された論理レコードの合計:        0

実行開始土 11月 05 00:48:06 2022
実行終了土 11月 05 00:48:09 2022

実行時間:        00: 00: 02.83
CPU時間 :        00: 00: 02.66
[oracle@vm013 csv]$

スポンサーリンク
タイトルとURLをコピーしました