16.20 - 例: Valid-Time列の削除 - Teradata Database - Teradata Vantage NewSQL Engine

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

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Release Date
2019年3月
Content Type
プログラミング リファレンス
Publication ID
B035-1182-162K-JPN
Language
日本語 (日本)

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次元ではすべての履歴行)がテーブルから物理的に削除されます。