例: パーティション範囲の削除および追加と、定義範囲外にある行の削除 - 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

以下のALTER TABLEリクエストは、例に使用する テーブル定義で作成したテーブルを変更します。o_orderdate値が1992年1月1日(DATE ‘1992-01-01’)~1992年12月31日(DATE ‘1992-12-31’)の行が0個以上存在する場合、リクエストは有効です。WITH DELETEを指定することにより、該当する行が存在する場合、新しいパーティション式のどのパーティションにも属さないため、それらはorders表から削除されます。

このリクエストにはプライマリ インデックスへの変更が含まれないため、指定したプライマリ インデックスはテーブルの既存のプライマリ インデックスと同じになります。DROP句の後のEACH句は無視されますが、ADD句の後のEACH句は処理されます。

     ALTER TABLE orders 
     MODIFY
       DROP RANGE BETWEEN DATE '1992-01-01' 
                  AND     DATE '1992-12-31'
                  EACH INTERVAL '1' MONTH
       ADD  RANGE BETWEEN DATE '1999-01-01' 
                  AND     DATE '2000-12-31'
                  EACH INTERVAL '1' MONTH
     WITH DELETE;

以下のリクエストは、列パーティション テーブルorders_cpのパーティションを変更します。

     ALTER TABLE orders_cp 
     MODIFY
       DROP RANGE BETWEEN DATE '1992-01-01' 
                  AND     DATE '1992-12-31'
       ADD  RANGE BETWEEN DATE '1999-01-01' 
                  AND     DATE '2000-12-31'
                  EACH INTERVAL '1' MONTH
     WITH DELETE;