<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データ型列を持つテンポラル テーブルです。