プライマリ・コンテンツに移動
Oracle® Databaseユーティリティ
12cリリース1 (12.1.0.2)
B71303-09
目次へ移動
目次
索引へ移動
索引

前
次

可変レコード形式への列オブジェクトのロード

例11-2に、デリミタ付きフィールドにデータがある例を示します。

例11-2 可変レコード形式への列オブジェクトのロード

制御ファイルの内容

LOAD DATA
1 INFILE 'sample.dat' "var 6"
INTO TABLE departments
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
2  (dept_no
   dept_name, 
   dept_mgr       COLUMN OBJECT
      (name       CHAR(30), 
      age         INTEGER EXTERNAL(5), 
      emp_id      INTEGER EXTERNAL(5)) )

データ・ファイル(sample.dat)

3  000034101,Mathematics,Johny Q.,30,1024,
   000039237,Physics,"Albert Einstein",65,0000,

注意:

例の左に付けた太字の数字は、次の注意事項と対応しています。

  1. "var"文字列には、各レコードの先頭にある長さフィールドのバイト数(この例では6)が含まれます。値が指定されない場合、デフォルトは5バイトです。可変レコードの最大サイズは、2^32-1です。それ以上の値を指定するとエラーになります。

  2. 位置を指定しなくても、一般構文では同じ結果(列オブジェクトの名前の後に、カッコで囲まれた属性のリストが続く)になります。また、省略された型指定については、デフォルトで長さが255のCHAR型になります。

  3. 最初の6バイト(斜体で示した部分)に、次のレコードの長さを指定します。これらの長さ指定には、emp_idフィールドの後の終了記号のために無視される改行文字も含まれます。