ALTER TABLE文は、時系列テーブルとともに使用できます。ALTER TABLE構文の詳細については、<Teradata Vantage™ SQLデータ定義言語の構文規則および例、B035-1144>を参照してください。
時系列テーブルでは、次のALTER TABLEオプションを使用できません。
- ALTER TABLE MODIFY PRIMARY
- ALTER TABLE FROM TIME ZONE
- ALTER TABLE SETまたはRESET DOWN
- ALTER TABLE TO CURRENT
ただし、ALTER TABLE MODIFY PRIMARY文を使用して、PRIMARY TIME INDEXの名前を追加したり既存の名前を削除したりできます。
システム生成の時系列列とALTER TABLE
ALTER TABLE文では、システム生成の時系列列、TD_TIMEBUCKET、TD_TIMECODE、またはTD_SEQNOを指定することはできません。これには次が含まれます。
- ALTER TABLE table_name ADD column_name
- ALTER TABLE table_name DROP column_name
- ALTER TABLE ADD FOREIGN KEY (column_name)
- ALTER TABLE ADD UNIQUE column_name
- ALTER TABLE ADD PRIMARY KEY column_name
- ALTER TABLE RENAME column_name
システム生成の時系列列、TD_TIMEBUCKET、TD_TIMECODE、またはTD_SEQNOに次の列属性を追加することはできません。
- DEFAULT、DEFAULT NULL、DEFAULT DATE、DEFAULT TIME、またはDEFAULT USER
- NAMED
- NULLまたはNOT NULL
- CASESPECIFICまたはNOT CASESPECIFIC
- CSまたはNOT CS
- CHARACTER SET
- COMPRESSまたはNO COMPRESS
- UPPERCASEまたはUC
例: PTIテーブルの変更
この例のテーブル定義には、名前のないPRIMARY TIME INDEXが含まれています。
CREATE TABLE ocean_buoy(c1 INTEGER, c2 INTEGER) PRIMARY TIME INDEX(TIMESTAMP(2) WITH TIME ZONE, DATE '2016-01-03', HOURS(2));
ALTER TABLE文を使用して、PRIMARY TIME INDEXの名前を追加することができます。
ALTER TABLE ocean_buoy MODIFY PRIMARY TIME INDEX my_pti_index;
SHOW TABLE文はテーブル定義を示しており、これには名前付きPRIMARY TIME INDEXが含まれています。
SHOW TABLE ocean_buoy; CREATE SET TABLE ocean_buoy ,NO FALLBACK , NO BEFORE JOURNAL, NO AFTER JOURNAL, CHECKSUM = DEFAULT, DEFAULT MERGEBLOCKRATIO, MAP = TD_MAP1 ( TD_TIMEBUCKET BIGINT NOT NULL GENERATED SYSTEM TIMECOLUMN, TD_TIMECODE TIMESTAMP(6) NOT NULL GENERATED TIMECOLUMN, TD_SEQNO INT NOT NULL GENERATED TIMECOLUMN, c1 INTEGER, c2 INTEGER) PRIMARY TIME INDEX my_pti_index (TIMESTAMP(6), DATE '2015-05-02', HOURS(1), COLUMNS(c1,c2), NONSEQUENCED);