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

以下の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;