16.20 - CREATE TABLE ... AS (ANSI valid-timeテーブル フォーム) - Teradata Vantage NewSQL Engine

Teradata Vantage™ ANSIテンポラル テーブル サポート

prodname
Teradata Database
Teradata Vantage NewSQL Engine
vrm_release
16.20
category
プログラミング リファレンス
featnum
B035-1186-162K-JPN

目的

既存のテンポラル テーブルの構造と内容の全部または一部をコピーして、新しいテンポラル テーブルを作成します。

system-timeテーブルをCREATE TABLE ... AS文のソース テーブルにすることはできません。

構文

CREATE TABLE ... AS文には特別な追加のテンポラル構文はありません。この構文は、非テンポラル テーブルに使用される構文と同一です。この構文については、<SQLデータ定義言語>で詳細に説明しています。ただし、下記の「使用上の注意」に示した制限に注意してください。

ANSI valid-timeテーブルの使用上の注意

  • 派生VALIDTIME期間定義を新しいテーブルにコピーするには、table-copyフォームCREATE TABLE target_table AS source_table (CREATE TABLE target_tableAS (subquery) ではない)を使用する必要があります。
  • CREATE TABLE AS文のtable-copyフォームで新しい列名を指定する場合、valid-time派生期間列の名前を指定する必要があります。この列もソースvalid-timeテーブルからコピーされます。
  • ターゲット テーブルの新しい列名を指定しても、CREATE TABLE AS文で[AS] VALIDTIME列属性を明示的に指定することはできず、また指定する必要はありません。
  • WITH DATAがCREATE TABLE ... AS文で指定される場合、valid-time列の値がターゲット テーブルにコピーされます。
  • ターゲット テーブルを列レベルまたはテーブル レベルのテンポラル制約を使用して作成できます。プライマリ キーと固有性制約を持つvalid-timeテーブルについては、Teradata Databaseはシステム定義結合インデックス(SJI)を自動的に作成します。これらの制約のタイプは、WITH NO DATAオプションが使用されている場合にのみ、CREATE TABLE ... AS文のターゲット テーブルで定義できます。(NONSEQUENCED VALIDTIMEプライマリ キーと固有性制約は非テンポラル テーブルとして機能し、SJIではなく固有セカンダリ インデックスを作成します。)