DROP INDEX
DROP INDEX文は、指定した索引を削除します。索引はグローバル(TimesTen Scaleout)またはローカル(TimesTen ScaleoutまたはTimesTen Classic)を指定できます。
必要な権限
索引の所有者に必要な権限はありません。別のユーザーが所有する索引の場合には、DROP ANY INDEXが必要です。
TimesTen Scaleoutでの使用
この文は、TimesTen Scaleoutでサポートされています。DROP INDEX文は、グローバル索引とローカル索引の両方を削除するために使用します。
SQL構文
DROP INDEX [Owner.]IndexName [FROM [Owner.]TableName]
パラメータ
| パラメータ | 説明 |
|---|---|
|
|
削除する索引の名前です。その索引に対応する表の所有者名を指定できます。TimesTen Scaleoutの場合、索引はグローバルまたはローカルを指定できます。 |
|
|
索引を作成した表の名前です。 |
説明
-
ビジーな索引(使用中の索引、または外部キーを適用する索引)を削除しようとすると、エラーが発生します。外部キーを削除して、関連付けられた索引を削除するには、
ALTER TABLE文を使用します。 -
索引が
UNIQUE列の制約で作成された場合は、その索引は制約を削除することでのみ削除できます。そのためには、ALTER TABLEDROP UNIQUE文を使用します。UNIQUE列の制約の詳細は、「CREATE TABLE」も参照してください。 -
コミットされていないトランザクションでの
DROP INDEX操作がアクティブな(またはアクティブだった)場合、その索引にアクセスしないDML操作を実行している他のトランザクションはブロックされます。 -
索引を削除した場合、その索引を使用する準備された文は、次にその文を実行する際に自動的に再準備されます。
-
表名を指定しない場合、指定した所有者または暗黙的な所有者の索引名は一意である必要があります。
-
索引の所有者を指定せずに表を指定した場合、表の所有者がデフォルトの所有者となります。
-
表が指定されており、表の所有者が指定されていない場合は、現在のユーザーがデフォルトの表の所有者になります。
-
表と索引の所有者は、同じである必要があります。
-
他の接続が所有する空でないインスタンスが一時表にある場合、別の接続によって一時表から索引を削除することはできません。
-
索引がアクティブ・スタンバイ・ペア間でレプリケートされるときに、
DDL_REPLICATION_LEVELが2以上の場合は、DROP INDEX文を使用して、レプリケーション・スキームのアクティブ・スタンバイ・ペアから索引を削除します。詳細は、『Oracle TimesTen In-Memory Databaseレプリケーション・ガイド』の「アクティブ・スタンバイ・ペアでのDDL変更」を参照してください。
例
次のいずれかの文を使用して、orderitems表で定義した索引partsorderedindexを削除します。
DROP INDEX partsorderedindex FROM purchasing.orderitems;
または
DROP INDEX purchasing.partsorderedindex;
関連項目