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

前
次

親表を子表から分割してのロード

ネストした表の列を含む表をロードする場合、親表を子表から分割してロードする場合があります。SID(システム生成またはユーザー定義)がロード時にわかっている場合(SIDがデータとともにデータ・ファイルにある場合)、親表と子表を別々にロードできます。

次の例は、ユーザー定義SIDを持つ親および子表をロードする方法を示しています。

例11-25 ユーザー定義SIDを使用した親表のロード

制御ファイルの内容

   LOAD DATA
   INFILE 'sample.dat' "str '|\n' "
   INTO TABLE dept
   FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
   TRAILING NULLCOLS
   ( dept_no   CHAR(3),
   dname       CHAR(20) NULLIF dname=BLANKS ,
   mysid       FILLER CHAR(32),
1  projects    SID(mysid))

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

101,Math,21E978407D4441FCE03400400B403BC3,|
210,"Topology",21E978408D4441FCE03400400B403BC3,|

注意:

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

  1. mysidは、実際のSIDを含むデータ・ファイルのフィールドにマップされているFILLERフィールドで、SID句に対する引数として指定できます。

例11-26 ユーザー定義SIDを使用した子表のロード

制御ファイルの内容

   LOAD DATA
   INFILE 'sample.dat'
   INTO TABLE dept
   FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
   TRAILING NULLCOLS
1  SID(sidsrc)
   (project_id     INTEGER EXTERNAL(5),
   project_name   CHAR(20) NULLIF project_name=BLANKS,
   sidsrc FILLER  CHAR(32))

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

21034, "Topological Transforms", 21E978407D4441FCE03400400B403BC3,
77777, "Impossible Proof", 21E978408D4441FCE03400400B403BC3,

注意:

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

  1. 表レベルのSID句を指定すると、SQL*Loaderによって、ネストした表の記憶表がロードされます。sidsrcは、実際のSIDのソースである、FILLERフィールド名です。