例: パーティション範囲の削除と追加 - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
Published
2021年1月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/ncd1596241368722.ditamap
dita:ditavalPath
ja-JP/ncd1596241368722.ditaval
dita:id
B035-1144
Product Category
Software
Teradata Vantage

以下のALTER TABLEリクエストは、例に使用する テーブル定義で作成したordersおよびorders_cpテーブルを変更します。このリクエストの結果は、この例の後のALTER TABLEリクエストで実行されるテーブルの変更と同じですが、異なる構文を使用しています。

o_orderdateの値が1992年1月1日(DATE '1992-01-01')~1992年12月31日(DATE '1992-12-31')の範囲にある行が存在しない場合、リクエストは有効です。

     ALTER TABLE orders 
     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;

以下のリクエストは、列パーティション テーブル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;

以下のALTER TABLEリクエストは、例に使用する テーブル定義で作成したテーブルを変更します。結果は、異なる構文を使用したこの例の他のリクエストの出力と同じになり、o_orderdateの値が1992年1月1日(DATE '1992-01-01')~1992年12月31日(DATE '1992-12-31')の範囲にある行が存在しない場合に、有効です。

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

以下のリクエストは、列パーティション テーブル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;

以下のALTER TABLEリクエストは、例に使用する テーブル定義で作成したテーブルを変更します。結果は、この例の他のリクエストの出力と同じになり、o_orderdateの値が1992年1月1日(DATE '1992-01-01')~1992年12月31日(DATE '1992-12-31')の範囲にある行が存在しない場合に、有効です。

     ALTER TABLE orders 
     MODIFY
       DROP RANGE WHERE Orders.PARTITION IN (1,2,3,4,5,6,7,8,9,10,11,12)
       ADD  RANGE BETWEEN DATE '1999-01-01' 
                  AND     DATE '2000-12-31' 
                  EACH INTERVAL '1' MONTH;

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

     ALTER TABLE orders_cp 
     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;