17.10 - 列パーティション テーブルから列を削除する操作 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 詳細トピック

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1184-171K-JPN
Language
日本語 (日本)
列パーティション テーブルから列を削除する操作に関するルールと制約事項を以下にまとめます。
  • 列パーティション番号が1より小さくなることはありません。また、テーブルや結合インデックスの列パーティションの最大番号より大きくなることもありません。列パーティション番号は、列パーティションを定義した順序に対応するとは限りません。
  • 列パーティション テーブルの列は、2つの内部使用パーティション以外は一切削除できず、システムはエラーをリクエスト元に返します。
  • 内部使用の2つの列パーティションをテーブルから削除することはできません。
  • 列パーティションからすべての列を削除すると、次の状態が発生します。
    • 列パーティションが削除されます。
    • 削除した列パーティションの列パーティション番号が、他の列パーティションの追加時に使用できる状態になります。

      システムは、定義済みの列パーティションの数を1つ減らし、追加できる列パーティションの数を1つ増やします。

      テーブルの列パーティションの最大数と列パーティションの最大番号に影響はありません。

    • 列パーティションを削除するのと同じALTER TABLEリクエストの中で複数の列パーティションを追加する場合、システムは、新しい列パーティションを追加する前に指定の列パーティションを削除します。
    • 列パーティションから既存の列をすべて削除することは可能です。その場合でも、その同じALTER TABLEリクエストでその列パーティションに新しい列を追加するのであれば、システムはそのパーティションを削除しません。
  • 列パーティションから列を削除し、変更された列パーティションにその他の列がある場合:
    • 列パーティションから列セットを削除する場合に、その列パーティションがシステム設定の列パーティション形式であると、システムは、その列パーティション形式を再設定します。その形式の選択は、列パーティションに残っている列セットの列パーティション値のサイズや他の要素(列パーティションの列パーティション値が固定長か可変長かなど)に基づきます。

      原則として、Vantageは、狭い(256バイト以下の)列パーティションをCOLUMN形式にし、広い列パーティションをROW形式にします。

      Vantageが列パーティションで選択したシステム列パーティション形式を確認するには、HELP COLUMNリクエストを使用するか、データ ディクショナリ ビューで該当する行を取得します。Teradata提供ビューの一覧については、<Teradata Vantage™ - データ ディクショナリ、B035-1092>を参照してください。

    • 列セットを削除した列パーティションがユーザー指定のCOLUMN形式、ROW形式、またはSYSTEM形式の場合、Vantageは、変更後の列パーティションの形式を変更しません。
    • Vantageは、変更後の列パーティションに別の列パーティション番号を割り当てます。
    • これらの操作を実行しても、定義済みの列パーティションの数(内部使用の2つの列パーティションを含む)、追加できる列パーティションの数、列パーティションの最大数、列パーティションの最大番号に影響はありません。