DROP INDEX
このステートメントにより、指定されたテーブルから特定のインデックスを削除します。
構文
DROP INDEX [IF EXISTS] [テーブル名.]インデックス名 [IN DICTIONARY]
テーブル名 ::= ユーザー定義名
インデックス名 ::= ユーザー定義名
備考
IN DICTIONARY は高度な機能です。絶対に必要な場合に、システム管理者のみが使用してください。IN DICTIONARY キーワードを使用すると、基となるデータ ファイルからはインデックスを削除せずに、DDF からインデックスを削除できます。通常、Zen は DDF とデータ ファイルの正確な同期を保ちますが、この機能によりユーザーは、同期していないテーブルの辞書定義を既存のデータ ファイルに合致させることが柔軟に行えるようになります。これは、既存のデータ ファイルと合致する新しい定義を辞書内に作成したい場合に有用です。
注意: DDF の変更を、基となるデータ ファイルへの変更に合わせて行わないと、重大な問題が生じることがあります。
IF EXISTS 式を指定すると、インデックスが存在しない場合、ステートメントはエラーではなく成功を返すようになります。IF EXISTS は、それ以外のエラーを抑制しません。
この機能の詳細については、
IN DICTIONARY の説明を参照してください。
部分インデックス
部分インデックスを削除する場合、PARTIAL 修飾子は必要ありません。
例
次のステートメントによって、指定された名前付きインデックスが Faculty テーブルから削除されます。
DROP INDEX Faculty.Dept
============
次の例では、データ ファイルと関連付けられない「デタッチされた」テーブルが作成され、その後でテーブル定義へのインデックスの追加と削除が行われます。インデックスは、関連付けられる基となる Btrieve インデックスが存在しないため、デタッチされたインデックスとなります。
CREATE TABLE t1 IN DICTIONARY (c1 int, c2 int)
CREATE INDEX idx_1 IN DICTIONARY on t1(c1)
DROP INDEX t1.idx_1 IN DICTIONARY
関連項目