16.20 - ANSI二重テンポラル テーブルのプライマリ キーおよび固有性制約 - 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期間が重ならないようにすることができます。

構文

二重テンポラル テーブルにプライマリ キーまたは固有性制約を追加するための構文は、ANSI Valid-Timeテーブルの
プライマリ キーと固有性制約に示されたvalid-timeテーブルで使用されている構文と同じです。

使用上の注意

  • プライマリキーまたは固有性制約を構成する列にsystem-time派生期間列を含めることはできません。
  • 制約はsystem-time次元内のオープンな行にのみ適用されます。

例: ANSI二重テンポラル テーブルのテンポラルプライマリキー制約

CREATE MULTISET TABLE employee_bitemp_pk (
 eid INTEGER NOT NULL,
 ename VARCHAR(5) NOT NULL,
 deptno INTEGER 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,
 sys_start TIMESTAMP(6) WITH TIME ZONE NOT NULL 
           GENERATED ALWAYS AS ROW START,
 sys_end TIMESTAMP(6) WITH TIME ZONE NOT NULL 
           GENERATED ALWAYS AS ROW END,
 PERIOD FOR SYSTEM_TIME(sys_start,sys_end)
 PRIMARY KEY(deptno,job_dur WITHOUT OVERLAPS)
 )
 PRIMARY INDEX (eid) WITH SYSTEM VERSIONING;