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

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

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/avd1530664741287.ditamap
dita:ditavalPath
ja-JP/avd1530664741287.ditaval
dita:id
B035-1182
Product Category
Software
Teradata Vantage

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