例: EACH句を持たない範囲の削除 - Teradata Database - Teradata Vantage NewSQL Engine - 例: EACH句を持たない範囲の削除、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

次の テーブル定義があるとします。

     CREATE TABLE t1 (
       i INTEGER, 
       d DATE)
     PRIMARY INDEX (i)
     PARTITION BY RANGE_N(d BETWEEN DATE '2000-01-01' 
                            AND     DATE '2000-12-31' 
                            EACH INTERVAL '1' MONTH);

次のALTER TABLEリクエストは有効です。EACH句が拡張された後、t1にはそれぞれ1ヶ月の既存の範囲が12あります。DROP RANGE操作は、既存の1ヶ月の範囲の4つをカバーする単一の4ヶ月範囲の削除を試みます。Teradata Databaseはこれを有効なリクエストとして受け入れ、DROP句で指定された範囲内の4つの範囲を削除します。

     ALTER TABLE t1 
     MODIFY 
     DROP RANGE BETWEEN DATE '2000-01-01'
                AND     DATE '2000-04-30'
     WITH DELETE;

このALTER TABLEリクエストが完了した後の、t1に対する新しいパーティション式は次のようになります。

     RANGE_N(d BETWEEN DATE '2000-05-01' 
               AND     DATE '2000-12-31' 
               EACH INTERVAL '1' MONTH)

テーブルt1が列パーティション化されていて、t1_cpという名前が付いている場合、前述の行パーティション化されたテーブルの例は同じ結果になります。