17.05 - 例: 外部テーブルのデータを永久テーブルにコピーする - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 構文規則および例

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
Release Date
2021年1月
Content Type
プログラミング リファレンス
Publication ID
B035-1144-175K-JPN
Language
日本語 (日本)

この例では、CREATE TABLE...ASをSELECTサブクエリーとともに使用し、外部テーブルからプライマリ インデックスなしの永久テーブルにデータをコピーします。

内部的には、SELECTサブクエリーはHASH BY RANDOM句によってINSERT...SELECT操作を実行し、均等なデータ分散を可能にします。HASH BY RANDOM句は、外部テーブルからプライマリ インデックスなしの永久テーブルへのINSERT...SELECT操作でデフォルトになります。この動作を無効にできます。HASH BY RANDOMの無効化を参照してください。

以下に、この例のriverflow_0627の外部テーブル定義を示します。システムがJSONデータ型を検出すると、システムによってJSONペイロード列が自動的に作成されます。

DefAuth_S3許可オブジェクトは、例: 外部テーブルに対するDEFINER許可の指定で作成されたものです。

CREATE FOREIGN TABLE riverflow_0627, 
EXTERNAL SECURITY DEFINER TRUSTED DefAuth_S3
USING
(
LOCATION('/S3/td-usgs.s3.amazonaws.com/JSONDATA/09380000/2018/06/27.json')
) ;

以下の文では、外部テーブルriverflow_0627から場所とペイロード列を選択するサブクエリーを使用して、データとともに永久テーブルriverdata_0627_permを定義します。

 CREATE TABLE riverdata_0627_perm 
    AS (SELECT location, payload FROM riverflow_0627) 
WITH DATA NO PRIMARY INDEX;