列パーティション テーブルの列パーティションに列を追加する操作に関するルールを以下にまとめます。
- 列パーティション番号が1より小さくなることはありません。また、テーブルの列パーティションの最大番号を超えることもありません。
列パーティション番号は、列パーティションを定義した順序に対応するとは限りません。
- 同じテーブルで行パーティションと列パーティションの両方を使用することはできますが、同じパーティション レベルで両方の形式を組み合わせることはできません。列パーティションの形式は、COLUMNかROWの任意のになります。
- 追加する列がその列パーティションですでに定義されている場合、Teradata Databaseはリクエスト元にエラーを返します。
- 追加する列が別の列パーティションですでに定義されている場合、Teradata Databaseはリクエスト元にエラーを返します。
- ユーザー指定のCOLUMN形式、ROW形式、またはSYSTEM形式の列パーティションに列を追加する場合は、変更後の列パーティションでもその形式が保持されます。
- 列パーティションに列を追加すると、変更後の列パーティションには新しい列パーティション番号が割り当てられます。
- 列パーティションに列を追加しても、定義済みの列パーティションの数(内部使用の2つの列パーティションを含む)、追加できる列パーティションの数、列パーティションの最大数、列パーティションの最大番号に影響はありません。
- Teradata Databaseは、追加する列パーティションの列パーティション値のサイズや他の要素(列パーティションの列パーティション値が固定長か可変長か、列パーティションが単一列パーティションか複数列パーティションかなど)に基づいて、追加する列パーティションのシステム設定形式をCOLUMN形式にするか、ROW形式にするかを選択します。
原則として、Teradata Databaseは、狭い(256バイト以下の)列パーティションをCOLUMN形式にし、広い列パーティションをROW形式にします。
Teradata Databaseが列パーティションで選択したシステム列パーティション形式を確認するには、HELP COLUMNリクエストを使用するか、データ ディクショナリ ビューで該当する行を取得します。Teradata提供ビューの一覧については、<データ ディクショナリ>を参照してください。
- 同じALTER TABLEリクエストで列パーティションの追加と削除の両方を指定すると、Teradata Databaseは、新しい列パーティションを追加する前に指定の列パーティションを削除します。
- テーブルに列パーティションを追加すると、Teradata Databaseは、定義済みの列パーティションの数を1つ増やし、追加できるパーティションの数を1つ減らします(定義済みの列パーティションの数の中には、内部で使用する2つの列パーティションが含まれています)。
新しい列パーティションを追加しても、テーブルの列パーティションの最大数と列パーティションの最大番号に影響はありません。