Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL リファレンス » SQL の使用 » SQL 文 » SQL 文 (A ~ D)

 

ALTER INDEX 文

この文を使用して、インデックス、プライマリ・キー、または外部キーの名前を変更したり、インデックスのクラスタ化された内容を変更したりします。

構文
ALTER { INDEX index-name 
| [ INDEX ] FOREIGN KEY role-name 
| [ INDEX ] PRIMARY KEY } 
ON [ owner.]object-name { REBUILD | rename-clause | cluster-clause } }
object-name : table-name | materialized-view-name
rename-clause : RENAME { AS | TO } new-index-name
cluster-clause : CLUSTERED | NONCLUSTERED
パラメータ
  • rename-clause   インデックス、プライマリ・キー、または外部キーの新しい名前を指定します。

  • cluster-clause   インデックスを CLUSTERED と NONCLUSTERED のどちらに変更するかを指定します。特定のテーブル上で 1 つのインデックスのみ、クラスタ化できます。

  • REBUILD 句   この句は、インデックスを削除して再作成するのではなく、インデックスを再構築するときに使用します。

備考

ALTER INDEX 文は、次の 2 つのタスクを実行します。

  • インデックス、プライマリ・キー、または外部キーの名前を変更するときに使用します。

  • インデックス・タイプをノンクラスタードからクラスタードに、またはその逆に変更するときに使用します。

    ALTER INDEX 文は、インデックスのクラスタ指定の変更には使用できますが、データの再編成はしません。また、特定のテーブルまたはマテリアライズド・ビュー上で 1 つのインデックスのみ、クラスタ化できます。

ローカル・テンポラリ・テーブル上では ALTER INDEX を使用してインデックスを変更できません。この文を使用してインデックスを削除しようとすると、"インデックスが見つかりません。" エラーになります。

文またはトランザクションのスナップショットを使用する、WITH HOLD 句を使用して開かれたカーソルがある場合、この文は実行できません。スナップショット・アイソレーションを参照してください。

パーミッション

テーブル所有者であるか、テーブルまたはマテリアライズド・ビューに対する REFERENCES パーミッションまたは DBA 権限が必要です。

関連する動作

オートコミット。Interactive SQL で [結果] ウィンドウ枠の [結果] タブをクリアします。現在接続しているすべてのカーソルを閉じます。

参照
標準と互換性
  • SQL/2003   ベンダ拡張。

次の文は、Products テーブルのインデックス IX_product_name の名前を ixProductName に変更します。

ALTER INDEX IX_product_name ON Products
RENAME TO ixProductName;

次の文は、IX_product_name をクラスタード・インデックスに変更します。

ALTER INDEX IX_product_name ON Products
CLUSTERED;