目的
新しいANSI二重テンポラル テーブルを作成します。
構文
二重テンポラル テーブルを作成するための特別なテンポラル構文はありません。これはCREATE TABLE (ANSI System-Time テーブル フォーム)とCREATE TABLE (ANSI Valid-Timeテーブル フォーム)で説明した形式を単に組み合わせたものになります。二重テンポラル テーブルでは、system-timeテーブルおよびvalid-timeテーブルの両方に該当するルール、制限、および使用上の注意も組み合わされることにご注意ください。
例えば、二重テンポラル テーブルをCREATE TABLE ... AS文のソース テーブルに使用したり、二重テンポラル テーブルの派生期間列で統計を収集したりすることはできません。
ANSI System-Timeテーブルの操作およびANSI Valid-Timeテーブルの操作に示されたsystem-timeおよびvalid-time列に関するすべての制限は、二重テンポラル テーブルにも適用されます。
例: ANSI二重テンポラル テーブルの作成
次に、ANSI二重テンポラル テーブルを作成する例を示します。
CREATE MULTISET TABLE employee_bitemporal ( eid INTEGER NOT NULL, ename VARCHAR(5), 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 INDEX (eid) WITH SYSTEM VERSIONING;