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

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

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

テンポラル テーブルへの非テンポラル挿入は従来型の挿入と同様に、valid-time列とtransaction-time列をテーブル内の他の列と同じように扱います。非テンポラル挿入は、クローズ行またはオープン行の挿入に使用できます。

非テンポラル挿入を実行するには、ターゲット テーブルに対するNONTEMPORAL権限を所有している必要があります。

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

   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);

次の非テンポラルINSERT文は、valid-time列とtransaction-time列の値を明示的に指定して、Policy_Historyに行を挿入します。

   NONTEMPORAL INSERT INTO Policy_History
      VALUES (411458, 160350204, 'AU', 'STD-CH-340-YXN-01',
         PERIOD '(2009-12-03, 2010-12-01)',
         PERIOD (TIMESTAMP '2004-01-01 00:00:00.000000', UNTIL_CLOSED));

   NONTEMPORAL INSERT INTO Policy_History
      VALUES (114583, 603502048, 'AU', 'STD-CH-920-YXD-01',
         PERIOD '(2009-12-08, 2010-12-07)',
         PERIOD (TIMESTAMP '2004-01-01 00:00:00.000000', UNTIL_CLOSED));