テーブルのコピー - Advanced SQL Engine - Teradata Database

Teradata Vantage™- データベースの管理

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/upb1600054424724.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.ditaval
dita:id
B035-1093
Product Category
Software
Teradata Vantage

既存のテーブルの一部または全部をコピーするためには、CREATE TABLE文のASオプションを使用します。テーブルをコピーするためのいくつかのオプションについての説明を次のテーブルに示します。

結果
CREATE GLOBAL TEMPORARY TABLE AS [tablename/query_expression] … WITH NO DATA グローバル一時テーブルとして既存のテーブルをコピーします。WITH NO DATAを使用します。グローバル一時テーブルは、問合わせ内で参照されて実体化されない限りデータを挿入されないためです。グローバル一時テーブルは、問合わせ内で参照されて実体化されない限りデータを挿入されないためです。

テーブルに次の項目を継承する場合:

  • すべての列定義。この場合、tablename WITH NO DATAを指定します。
  • 列定義のサブセット。この場合、(query_expression)およびWITH NO DATAを指定します。

CREATE GLOBAL TEMPORARY TABLE AS ... WITH NO DATAのsubqueryフォームはインデックスをコピーせず、デフォルトのプライマリ インデックスを定義するため、適切でない場合があります。Teradataでは、適切なPIを明示的に指定するかNO PRIMARY INDEXを指定することを強く推奨します。

CREATE TABLE AS [tablename/query_expression] ... WITH [NO] DATA [AND STATISTICS] 永久テーブルまたは揮発テーブルとして既存のテーブルをコピーします。以下のように、どの列をコピーするかや、テーブルに自動的にデータを取り込むかどうかを選択します。テーブルに次の項目を継承する場合:
  • すべての列定義と内容。この場合、tablename WITH DATAおよび(揮発テーブルの場合) ON COMMIT PRESERVE ROWSを指定します。
  • 内容以外のすべての列定義。この場合、tablename WITH NO DATAを指定します。
  • 列定義のサブセットと内容。この場合、(query_expression) WITH DATAおよび(揮発テーブルの場合) ON COMMIT PRESERVE ROWSを指定します。
  • 内容以外の列定義のサブセット。この場合、(query_expression) WITH NO DATAを指定します。
  • 元のテーブルの統計ヒストグラム、次にAND STATISTICSを指定します。またUSECOUNTが有効の場合、このオプションは元のテーブルから使用カウント情報をコピーします。SQLロギング文を参照してください。

CREATE TABLE AS ... WITH [NO] DATAのsubqueryフォームはインデックスまたはパーティションをコピーせず、デフォルトのプライマリ インデックスを定義するため、適切でない場合があります。適切なPIやプライマリAMPインデックスを明示的に指定するか、またはNO PRIMARY INDEXを指定することをお勧めします。