例: 二重テンポラル テーブルへのCurrent Valid-Time挿入 - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/bud1592002688266.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.ditaval
dita:id
B035-1182
Product Category
Software
Teradata Vantage

transaction-time次元でオープンであり、valid-time次元で現在であるデータを二重テンポラル テーブルに挿入するには、CURRENT VALIDTIME修飾子を使用します。

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

   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テーブルにcurrent valid-time挿入を実行します。INSERTで位置割り当てリストを使用している(列名の指定がない)ので、valid-time列の値は指定できません。transaction-time列の値はシステムによって挿入されるので、transaction-time列の値は指定できません。

   CURRENT VALIDTIME INSERT INTO Policy_History
      VALUES (541077, 766492008, 'AU', 'STD-CH-344-YXY-00');

次の文も、Policy_Historyテーブルにcurrent valid-time挿入を実行します。INSERTで名前付きリストを使用しているので、valid-time列の値を指定できます。transaction-time列の値はシステムによって挿入されるので、transaction-time列の値は指定できません。

   CURRENT VALIDTIME INSERT INTO Policy_History
      (Policy_ID, Customer_ID, Policy_Type, Policy_Details, Validity)
      VALUES (541145, 616035020, 'AU', 'STD-CH-348-YXN-01',
         PERIOD '(2009-12-03, 2010-12-01)');