16.20 - 例: 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

valid-timeテーブルからvalid-time列を削除するには、ALTER TABLE文を使用します。

次のvalid-timeテーブルについて考えてみます。

   CREATE MULTISET TABLE Customer (
      Customer_Name VARCHAR(40),
      Customer_ID INTEGER,
      Customer_Address VARCHAR(80),
      Customer_Phone VARCHAR(12),
      Customer_Validity PERIOD(DATE) NOT NULL AS VALIDTIME
      )
   PRIMARY INDEX ( Customer_ID );

次の文はCustomer_Validity列を削除します。

   ALTER TABLE Customer DROP Customer_Validity;

二重テンポラル テーブルからvalid-time列を削除するには、ALTER TABLE文を使用して、NONTEMPORAL修飾子を指定します。二重テンポラル テーブルからどのようなタイプの列を削除する場合でも、そのテーブルに対するNONTEMPORAL権限が必要になります。また、ALTER TABLEにNONTEMPORAL修飾子を使用する必要があります。

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

   CREATE MULTISET TABLE Customer (
      Customer_Name VARCHAR(40),
      Customer_ID INTEGER,
      Customer_Address VARCHAR(80),
      Customer_Phone VARCHAR(12),
      Customer_Validity PERIOD(DATE) NOT NULL AS VALIDTIME,
      Customer_Duration PERIOD(TIMESTAMP(6) WITH TIME ZONE) NOT NULL
         AS TRANSACTIONTIME
      )
   PRIMARY INDEX ( Customer_ID );

次の文はCustomer_Validity列を削除します。

   NONTEMPORAL ALTER TABLE Customer DROP Customer_Validity;

二重テンポラル テーブルからvalid-time列が削除されると、すべての非有効行(valid-time次元ではすべての履歴行)がテーブルから物理的に削除されます。