例: 単一列パーティションへの列の追加 - Teradata Database - Teradata Vantage NewSQL Engine - 例: 単一列パーティションへの列の追加、ALTER TABLE構文の文。

Teradata Vantage™ SQLデータ定義言語 構文規則および例

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

この例では、o_orderstatusの単一列パーティションに列を追加し、システム定義のCOLUMN形式と自動圧縮を使用して、パーティションを複数列パーティションに変更します。

     ALTER TABLE orders 
     ADD o_ordersubstatus CHAR(1) CASESPECIFIC INTO o_orderstatus;

次の同等のリクエストは、orders表を変更するために同じアクションを実行します。

     ALTER TABLE orders 
     ADD (o_ordersubstatus CHAR(1) CASESPECIFIC) INTO o_orderstatus;

どちらのリクエストも、テーブルの各行でNULLに設定されたo_ordersubstatusがある次の定義を持つようorders表を変更します。

     CREATE TABLE orders (
       o_orderkey       INTEGER NOT NULL
       o_custkey        INTEGER
       o_orderstatus    CHARACTER(1) CASESPECIFIC
       o_totalprice     DECIMAL(13,2) NOT NULL
       o_ordertsz       TIMESTAMP(6) WITH TIME ZONE NOT NULL
       o_comment        VARCHAR(79)
       o_salesperson    VARCHAR(5)
       o_ordersubstatus CHARACTER(1) CASESPECIFIC)
     PARTITION BY (COLUMN ALL BUT ((o_orderstatus, o_ordersubstatus))
                     ADD 4,
                   RANGE_N(o_ordertsz BETWEEN TIMESTAMP
                                      '2003-01-01 00:00:00.000000+00:00'
                                      AND     TIMESTAMP 
                                      '2009-12-31 23:59:59.999999+00:00' 
                                      EACH INTERVAL '1' MONTH) ),
     UNIQUE INDEX(o_orderkey);