例: 単一列パーティションへの列の追加 - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/spp1591731285373.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.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);