17.00 - 17.05 - MODIFY PRIMARYオプション - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.00
17.05
Release Date
2020年6月
Content Type
プログラミング リファレンス
Publication ID
B035-1184-170K-JPN
Language
日本語 (日本)

MODIFY PRIMARY INDEX句またはMODIFY PRIMARY AMP INDEXオプションには、次のルールが適用されます。

  • MODIFY PRIMARYを指定する場合に、現時点でテーブルにプライマリ インデックスがなければ、列リストを記述して、新しいプライマリ インデックスに組み込む列を指定する必要があります。

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

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

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

    UNIQUE PRIMARY INDEXを指定できるのは、テーブルの現在のプライマリ インデックスで少なくとも以下の条件のいずれが1つが満たされている場合に限られます。

    • 現在のプライマリ インデックスがUPIである。
    • プライマリ インデックスがPRIMARY KEYまたはUNIQUE制約によって暗黙的に定義されている。
    • 既存のUSIが新しいUPIと同じ列セットで定義されている。

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

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

      そうでない場合、Teradata Databaseはリクエスト側にエラーを返します。

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