CREATE EXTERNAL TABLE コマンド

CREATE EXTERNAL TABLE コマンドを使用して、外部表を作成することができます。 外部テーブルでは、外部ファイルはデータベース・テーブルとして扱われます。

外部表を作成するための特権

外部テーブルを作成するには、以下の権限が必要です:
  • CREATE EXTERNAL TABLE 管理者権限。

    CREATE EXTERNAL TABLE コマンドを発行したデータベース・ユーザーが、その外部表の所有者となります。

  • テーブルを定義するデータベースの List 権限。

    デフォルトのスキーマではないスキーマに表を定義する場合は、そのスキーマに対する List 特権も必要です。

外部表を作成するときには、外部表のデータ・オブジェクトの保管場所を指定する必要があります。 オペレーティング・システム・ユーザーは、テーブルに対する SELECT 操作をサポートするために、データ・オブジェクト・ロケーションから読み取る権限と、 INSERT などのコマンドを使用して外部テーブルに行を追加する場合に、そのロケーションに書き込む権限を持っていなければならない。

制限事項

DATA_VERSION_RETENTION_TIMEに0以外の値が指定された場合、コマンドは失敗する。 詳細については、 Netezza Performance Serverタイムトラベルを参照してください。

構文

他の表に基づいて外部表を作成するには、以下の構文を使用します。
CREATE EXTERNAL TABLE table name
[ON external data source name
USING (
   DATABOBJECT ('/example.parquet') 
   format 'PARQUET' 
);]
SAMEAS table name
USING external table options
  • カラムを定義して外部テーブルを作成するには、以下を実行する:
    CREATE EXTERNAL TABLE table name
    ({  column_name type
    [ column_constraint [ ... ] ]} [, ... ]
    )
    [USING external_table_options]
  • Parquet 、ファイルから外部テーブルを作成する:
    CREATE EXTERNAL TABLE table name 
    ON external data source name 
    USING ( 
       DATAOBJECT ('/example.parquet') 
       format PARQUET 
    );

external_table_options 変数に指定できる値については、 外部テーブル・オプションを参照のこと。

CREATE TABLEコマンドと'CREATE EXTERNAL TABLEコマンドでは、列の指定に'PRIMARY KEY、'DEFAULT、'UNIQUE、'REFERENCESオプションを指定できるが、'CREATE EXTERNAL TABLEコマンドでは'UNIQUE、'PRIMARY KEY、'REFERENCESオプションは無視される。 この場合、エラーは生成されません。 制約チェックと参照整合性は外部テーブルではサポートされていないため、これらのテーブルにデータを挿入する場合は注意してください。

外部テーブルの例を参照。