例: EACH句を持たない範囲の削除 - 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

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

     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ヶ月範囲の削除を試みます。Vantageはこれを有効なリクエストとして受け入れ、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という名前が付いている場合、前述の行パーティション化されたテーブルの例は同じ結果になります。