16.20 - 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

目的

Valid-timeテーブル定義には、プライマリキーおよび行でvalid-time期間が重なることを防ぐ固有性制約を含めることができます。システム定義の結合インデックスは、テーブルへの変更中に制約を確認するために自動的に作成されます。

構文



column_list
プライマリキーまたはテーブルの固有性制約として使用される列の名前または列のカンマ区切りのリスト。
valid_time_period
valid-time派生期間列の名前。
WITHOUT OVERLAPS
テーブルの行のvalid-time期間が重ならないように指定します。

ANSI準拠

この文は、ANSI SQL:2011に準拠しています。

使用上の注意

  • valid_time_periodWITHOUT OVERLAPSが指定されていない場合、制約は非テンポラル制約として動作し、valid-time期間が重なるかどうかに関係なく値に固有性を強制します。
  • テーブルにSYSTEM_TIME派生期間列が含まれる場合、派生期間列の開始および終了列はcolumn_listに含めることはできません。

例: Valid-Timeテーブルのテンポラルプライマリキー制約

CREATE MULTISET TABLE employee_vt_pk (
 eid INTEGER NOT NULL,
 ename VARCHAR(5) NOT NULL,
 terms VARCHAR(5),
 job_start DATE NOT NULL,
 job_end DATE NOT NULL,
 PERIOD FOR job_dur(job_start,job_end) AS VALIDTIME,
 PRIMARY KEY(deptno, job_dur WITHOUT OVERLAPS)
 )
 PRIMARY INDEX (eid);