17.10 - テーブルのプライマリ インデックス、基本AMPインデックス、またはパーティションの再定義 - 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
日本語 (日本)
テーブルに対してPRIMARY、PRIMARY AMP、NO PRIMARY、およびPARTITION BYまたはNOT PARTITIONED句を再定義するには、次の方法のいずれかを使用します。
  • ALTER TABLE MODIFY PRIMARYまたはPRIMARY AMP構文を使用して、テーブルのプライマリ インデックスまたは基本AMPインデックスを変更します。<Teradata Vantage™ - SQLデータ定義言語-構文規則および例、B035-1144>、MODIFY PRIMARY句に関する一般的なルール、およびテーブルまたは結合インデックスのパーティションの変更を参照してください。
  • テーブルのパーティションを変更する場合は、PRIMARY、PRIMARY AMP、またはNO PRIMARYを指定せずに、MODIFYを指定できます。PRIMARY、PRIMARY AMP、またはNO PRIMARYキーワードは、テーブルのプライマリ インデックスまたは基本AMPインデックスを変更する場合にのみ必要です。
  • プライマリ インデックス、基本AMPインデックスまたはパーティションを適切に定義して新しいテーブルを作成してから、INSERT ... SELECTを使用して、古いテーブルから新しいテーブルにデータをコピーします。ALTER TABLEを使用しないプライマリ インデックス、基本AMPインデックス、またはパーティションの再定義を参照してください。
  • 以下の操作を行なう場合、CREATE TABLE AS構文を使用します。
    1. プライマリ インデックスまたは基本AMPインデックスおよびパーティション付きの新しいテーブルを必要に応じて作成します。
    2. 古いテーブルから新しいテーブルに行をコピーし、必要に応じて統計もコピーします。

    CREATE TABLE (AS句)を参照してください。

ALTER TABLEを使用して、テーブルのプライマリ インデックス、基本AMPインデックス、またはパーティションを以下のように変更できます。MODIFY PRIMARY句に関する一般的なルールテーブルまたは結合インデックスのパーティションの変更、およびテーブルのパーティション変更に関するルールを参照してください。

実行する操作 指定内容
NUPIをUPIへ変更 MODIFY PRIMARY句内のMODIFY UNIQUE PRIMARYまたはPRIMARY AMP。
UPIをNUPIへ変更 MODIFY PRIMARY句内のMODIFY NOT UNIQUE PRIMARYまたはPRIMARY AMP。
パーティション オブジェクトから非パーティション オブジェクトへの変更 MODIFY PRIMARY句内のNOT PARTITIONED。

このテーブルは空でなければなりません。

非パーティション オブジェクトからパーティション オブジェクトへの変更 MODIFY PRIMARY句内のPARTITION BY句。

このテーブルは空でなければなりません。

パーティション式の範囲の追加または削除 Primary Index Change Options句内のADD RANGEまたはDROP RANGE句。ADD RANGEオプションとDROP RANGEオプションを使用したパーティションの変更を参照してください。
プライマリ インデックスまたは基本AMPインデックス列の追加または削除 MODIFY PRIMARY句。

このテーブルは空でなければなりません。

テーブルのヘッダーの再生成と行パーティションのエラーの修正によるパーティションの検証 REVALIDATE Options句内のREVALIDATE PRIMARY INDEX句。REVALIDATEオプションに関する一般的なルールと制約事項を参照してください。

テーブルを変更してUPIを付ける場合に、同じ列セットですでにUSIが定義されていると、ALTER TABLE操作中、そのUSIは自動的に削除されます。

BLOB列、CLOB列、ARRAY列、VARRAY列、PERIOD列、Geospatial列をプライマリ インデックスに組み込むことはできません。

エラー テーブルのプライマリ インデックスは変更できません。CREATE ERROR TABLEを参照してください。