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

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
Published
2021年1月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/ncd1596241368722.ditamap
dita:ditavalPath
ja-JP/ncd1596241368722.ditaval
dita:id
B035-1144
Product Category
Software
Teradata Vantage

この例では、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;