16.20 - 例: 二重テンポラル テーブルへのSequenced Valid-Time挿入 - Teradata Vantage NewSQL Engine

Teradata Vantage™ テンポラル テーブル サポート

prodname
Teradata Database
Teradata Vantage NewSQL Engine
vrm_release
16.20
category
プログラミング リファレンス
featnum
B035-1182-162K-JPN

sequenced valid-time挿入は従来型の挿入と同様に、valid-time列をテーブル内の他の列と同じように扱います。valid-time次元で履歴行、現在行、または将来行を挿入するには、sequenced valid-time挿入を使用します。

このような挿入は、すべてtransaction-time次元でオープンになります。transaction-time列の値はシステムによって自動的に挿入されるので、INSERT文でtransaction-time列の値は指定できません。

次の二重テンポラル テーブルについて考えてみます。

   CREATE MULTISET TABLE Policy_History(
      Policy_ID INTEGER,
      Customer_ID INTEGER,
      Policy_Type CHAR(2) NOT NULL,
      Policy_Details CHAR(40),
      Validity PERIOD(DATE) NOT NULL AS VALIDTIME,
      Policy_Duration PERIOD(TIMESTAMP(6) WITH TIME ZONE) NOT NULL
         AS TRANSACTIONTIME)
   PRIMARY INDEX(Policy_ID);

次の文は、Policy_Historyテーブルにtransaction-time次元でオープンであるsequenced valid-time挿入を実行します。

   SEQUENCED VALIDTIME INSERT INTO Policy_History
      VALUES (232540, 909234455, 'BM', 'STD-CH-344-YYY-00',
         PERIOD (DATE '1999-01-01', DATE '1999-12-31'));

   SEQUENCED VALIDTIME INSERT INTO Policy_History
      (Policy_ID, Customer_ID, Policy_Type, Policy_Details, Validity)
      VALUES (944540, 344567123, 'BM', 'STD-PL-332-YXY-01',
         PERIOD (DATE '2007-02-03', DATE '2008-02-02'));