派生PERIOD列とCREATE TABLE - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
2020年6月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/cjo1556732840654.ditamap
dita:ditavalPath
ja-JP/cjo1556732840654.ditaval
dita:id
B035-1182
Product Category
Software
Teradata Vantage
<Teradata Vantage™ - SQLデータ定義言語-構文規則および例、B035-1144>で説明している派生PERIOD列の使用に関する通常のルールに加えて、次のルールと制限が、テンポラル テーブルの派生VALIDTIME列と派生TRANSACTIONTIME列の使用に適用されます。
  • テンポラル列として使用される派生PERIOD列の構成要素列は、プライマリ インデックスの一部にすることはできません。
  • 派生PERIOD列がTRANSACTIONTIME列として定義される場合、ユーザーが構成要素列をNULLに設定することはできず、列がユーザー指定のデフォルト値を持つことはできず、両方ともデータ型TIMESTAMP(6) WITH TIME ZONEを持たなければなりません。
  • 通常のVALIDTIME列とTRANSACTIONTIME列のすべてのルールは、テンポラル列として使用される派生PERIOD列の構成要素列にも適用されます。
  • UNTIL_CHANGEDは、VALIDTIMEの派生PERIOD列に対するend_columnの複数値圧縮によって圧縮される値の1つとして指定できます。
  • TRANSACTIONTIME列が派生PERIOD列であり、インポートしたデータのbegin_columnまたはend_columnに対するデータにうるう秒が含まれている場合、秒の部分は、入力データに対して記述された精度に丸められた精度を持つ59.999999に調整されます。このプロセスの間に、transaction-time期間の開始境界値と終了境界値が同じになった場合、Teradata Databaseでエラーが発生します。

    例えば、begin_columnの値がTIMESTAMP '2006-12-31 23:59:59.999'であり、対応するend_columnの値がTIMESTAMP '2006-12-31 23:59.60.123'である場合、終了境界値は開始境界値と同じTIMESTAMP '2006-12-31 23:59.59.999'に調整され、Teradata Databaseでエラーが発生します。

  • CREATE TABLE ... AS文のソース テーブルに派生PERIOD列がある場合は、作成されるターゲット テーブルに同じ派生PERIOD列が含まれます。
  • SEQUENCED修飾子がCREATE TABLE...AS subquery で指定され、ソースがVALIDTIMEまたはTRANSACTIONTIMEの派生PERIOD列を持つテンポラル テーブルである場合、結果のターゲット テーブルは、VALIDTIME列またはTRANSACTIONTIME列として機能するPERIODデータ型列を持つテンポラル テーブルです。