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

前
次

ネストした表およびVARRAYでの制限事項

ネストした表およびVARRAYには次の制限事項があります。

  • field_listには、collection_fld_specを含めることはできません。

  • VARRAY内にネストしたcol_obj_specには、collection_fld_specを含めることはできません。

  • field_listの一部として指定したcolumn_nameは、VARRAYパラメータを前に付けたcolumn_nameと同一である必要があります。

また、ネストした表を含む表にロードする場合、複数のロードへの細分化およびSIDの生成は自動的に行われないため注意してください。

例11-24に、VARRAYおよびネストした表のロード例を示します。

例11-24 VARRAYおよびネストした表のロード

制御ファイルの内容

   LOAD DATA
   INFILE 'sample.dat' "str '\n' "
   INTO TABLE dept
   REPLACE
   FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
   (
     dept_no       CHAR(3),
     dname         CHAR(25) NULLIF dname=BLANKS,
1    emps          VARRAY TERMINATED BY ':'
     (
       emps        COLUMN OBJECT
       (
         name      CHAR(30),
         age       INTEGER EXTERNAL(3),
2        emp_id    CHAR(7) NULLIF emps.emps.emp_id=BLANKS
     )
   ),
3   proj_cnt      FILLER CHAR(3),
4   projects      NESTED TABLE SDF (CONSTANT "pr.txt" "fix 57") COUNT (proj_cnt)
  (
    projects    COLUMN OBJECT
    (
      project_id        POSITION (1:5) INTEGER EXTERNAL(5),
      project_name      POSITION (7:30) CHAR 
                        NULLIF projects.projects.project_name = BLANKS
    )
  )
)

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

 101,MATH,"Napier",28,2828,"Euclid", 123,9999:0
 210,"Topological Transforms",:2

セカンダリ・データ・ファイル(SDF)(pr.txt)

21034 Topological Transforms
77777 Impossible Proof

注意:

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

  1. TERMINATED BY句では、VARRAYのインスタンス終了記号(COUNT句は使用されていないことに注意)を指定します。

  2. このFILLERフィールドの存在によって発生するフィールド名の競合は、フルネームによるフィールド参照(ドット表記法を使用)によって解決されます。

  3. proj_cntは、COUNT句に対する引数として使用するFILLERフィールドです。

  4. このエントリでは、次の内容が指定されます。
    • pr.txtと呼ばれるSDFをデータのソースとして指定します。また、SDF内で固定レコード形式を指定します。

    • COUNT句が0の場合、コレクションは空に初期化されます。コレクションを空に初期化するもう1つの方法は、DEFAULTIF句を使用する方法です。ネストした表のフィールドの記述に対応するメイン・フィールド名は、そのネストした非FILLERフィールドのフィールド名、特に、列オブジェクトのフィールド名の記述と同じです。