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 ;