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オプションは無視される。 この場合、エラーは生成されません。 制約チェックと参照整合性は外部テーブルではサポートされていないため、これらのテーブルにデータを挿入する場合は注意してください。
例
外部テーブルの例を参照。