17.10 - MODIFY PRIMARYオプション - 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
日本語 (日本)
MODIFY PRIMARY INDEX句またはMODIFY PRIMARY AMP INDEXオプションには、次のルールが適用されます:
  • MODIFY PRIMARYを指定する場合に、現時点でテーブルにプライマリ インデックスがなければ、列リストを記述して、新しいプライマリ インデックスに組み込む列を指定する必要があります。

    それ以外の場合、システムはリクエスト側にエラーを返します。

  • プライマリ インデックスまたは基本AMPインデックスのあるテーブルを変更して、異なるセットのインデックス列を含めることはできません。そうでない場合、システムはリクエスト側にエラーを返します。
  • UNIQUE PRIMARY INDEXを指定すると、そのテーブルの新しいプライマリ インデックスはUPIになります。

    プライマリ インデックスを固有にできるのは、プライマリ インデックスを定義している列セットにすべてのパーティション列(ある場合)も含まれている場合に限られます。

    UNIQUE PRIMARY INDEXを指定できるのは、テーブルの現在のプライマリ インデックスで少なくとも以下の条件のいずれが1つが満たされている場合に限られます。
    • 現在のプライマリ インデックスがUPIである。
    • プライマリ インデックスがPRIMARY KEYまたはUNIQUE制約によって暗黙的に定義されている。
    • 既存のUSIが新しいUPIと同じ列セットで定義されている。

      既存のUSIは、明示的に指定、または、PRIMARY KEYまたはUNIQUE制約によって暗黙的に指定できます。

    • テーブルに行が入っていない。

      そうしないと、システムはリクエスト側にエラーを返します。

  • NOT UNIQUE PRIMARY INDEXを指定すると、そのテーブルまたは結合インデックスの新しいプライマリ インデックスはNUPIになります。
  • UNIQUE PRIMARY INDEXもNOT UNIQUE PRIMARY INDEXも指定しない場合、Vantageは、テーブルまたは結合インデックスのプライマリ インデックスの固有性を変更しません。
  • MODIFY PRIMARYでALLを指定することはできません。