派生PERIOD列とCREATE TABLE - 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/bud1592002688266.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.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期間の開始境界値と終了境界値が同じになった場合、システムでエラーが発生します。

    例えば、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'に調整され、システムでエラーが発生します。

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