0

(通常の) ステージング テーブルを作成して SQL*Loader を使用するのではなく、テキスト ファイルから外部テーブルを作成し、それを使用して実際のテーブルに更新する方法。

サンプル.ctl

load data 
infile 'data.txt'
append into table newtable
fields terminated by '|' 
TRAILING NULLCOLS
(ACCOUNTNBR)

data.txt

いくつかの生データ..

54545554
54542145
65656566
58787788
4

1 に答える 1

0
  1. 上記のデータで作成されたファイル info.dat。

  2. デフォルトのディレクトリ (データ ソースを含む) をセットアップし、そのディレクトリへのアクセスを許可します (CREATE ANY DIRECTORY 権限が必要です)。

    CREATE DIRECTORY ext_tab_dir AS '/usr/apps/datafiles';

    ディレクトリ ext_tab_dir の読み取りを SCHEMA_OWNER に許可します。

  3. newtable_load という名前の外部テーブルを作成します。

    CREATE TABLE newtable_load
    (ACCOUNTNBR NUMBER
    )
       ORGANIZATION EXTERNAL
       (TYPE ORACLE_LOADER
       DEFAULT DIRECTORY default_directory
       ACCESS PARAMETERS
       (RECORDS DELIMITED BY NEWLINE
        FIELDS (ACCOUNTNBR NUMBER)
       )
       LOCATION ('info.dat')
    );
    
  4. 外部テーブル newtable_load からテーブル newtable にデータをロードします。

INSERT INTO newtable (ACCOUNTNBR) (SELECT ACCOUNTNBR FROM newtable_load);

于 2014-03-03T18:00:43.070 に答える