ANSI準拠
この文は、ANSI SQL:2011に準拠しています。
Valid-timeテーブル定義には、プライマリキーおよび行でvalid-time期間が重なることを防ぐ固有性制約を含めることができます。システム定義の結合インデックスは、テーブルへの変更中に制約を確認するために自動的に作成されます。
構文
{ PRIMARY KEY | UNIQUE } ( column_list [, valid_time_period WITHOUT OVERLAPS ] )
- column_list
- プライマリキーまたはテーブルの固有性制約として使用される列の名前または列のカンマ区切りのリスト。
- valid_time_period
- valid-time派生期間列の名前。
- WITHOUT OVERLAPS
- テーブルの行のvalid-time期間が重ならないように指定します。
使用上の注意
- 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);