17.05 - 例: 外部テーブルのコピー(データを含まない) - Advanced SQL Engine - Teradata Database

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

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

CREATE TABLE ... ASを使ってWITH NO DATA句を指定して、ソース外部テーブルと同じオプションを持つ外部テーブルのコピーを作成できます。WITH NO DATA句を指定すると、ソース外部テーブルの定義がターゲットの外部テーブルにコピーされ、ターゲット外部テーブルは、ソース外部テーブルと同じ外部データにアクセスします。

以下に、この例の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と同じ定義を持つターゲット外部テーブルrivercopy_0627_tを作成します。

CREATE TABLE rivercopy_0627_t
AS riverflow_0627 WITH NO DATA;

以下の文では、外部テーブルのコピー、rivercopy_0627_tの定義を示します。

CREATE MULTISET FOREIGN TABLE myDB.rivercopy_0627_t ,FALLBACK ,
     EXTERNAL SECURITY DEFINER TRUSTED DEFAUTH_S3 ,
     MAP = TD_MAP1
     (
      Location VARCHAR(2048) CHARACTER SET UNICODE CASESPECIFIC,
      Payload JSON(8388096) INLINE LENGTH 32000 CHARACTER SET UNICODE)
USING
(
      LOCATION  ('/S3/td-usgs.s3.amazonaws.com/JSONDATA/09380000/2018/06/27.json')
      PATHPATTERN  ('$Var1/$Var2/$Var3/$Var4/$Var5/$Var6/$Var7/$Var8/$Var9/$Var10/$Var11/$Var12/$Var13/$Var14/$Var15/$Var16/$Var17/$Var18/$Var19/$Var20')
      ROWFORMAT  ('{"record_delimiter":"\n","character_set":"UTF8"}')
      STOREDAS  ('TEXTFILE')
)
NO PRIMARY INDEX ;