この文を使用して、インデックス、プライマリ・キー、または外部キーの名前を変更したり、インデックスのクラスタ化された内容を変更したりします。
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
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; |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |