3.25.1 DROP INDEXの形式と規則
(1) 機能
インデクスを削除します。
(2) 使用権限
- インデクスの所有者
-
ユーザ自身のインデクスを削除できます。
- DBA権限を持つユーザ
-
他ユーザのインデクスを削除できます。
(4) オペランド
(a) 〔認可識別子.〕インデクス識別子〔WITH PROGRAM〕
- 認可識別子
-
インデクスを持つユーザの識別子を指定します。
省略した場合,実行するユーザの認可識別子を仮定します。
- インデクス識別子
-
削除するインデクス識別子を指定します。
- WITH PROGRAM
-
インデクスを削除するときに,そのインデクスを使用する手続き及びトリガの有効なSQLオブジェクトを無効にしたいときに指定します。
WITH PROGRAMを省略した場合,そのインデクスを使用する手続き及びトリガの有効なSQLオブジェクトがあると,そのインデクスは削除できません。
(5) 共通規則
-
実行中のSQLオブジェクトが無効になる場合,Java手続き中からDROP INDEXは実行できません。
-
インナレプリカ機能を使用している場合のDROP INDEXの実行条件については,マニュアル「インナレプリカ機能 HiRDB Staticizer Option」を参照してください。
-
SQLセッション固有一時表を使用しているSQLセッション中で,使用中のSQLセッション固有一時表のインデクスは削除できません。
(6) 留意事項
-
DROP INDEXは,OLTP下のX/Openに従ったUAPから指定できません。
-
WITH PROGRAMを指定して手続き及びトリガの有効なSQLオブジェクトを無効にした場合,ディクショナリ表SQL_ROUTINE_RESOURCES中の無効となった手続き及びトリガの情報は削除されます。
-
WITH PROGRAMを指定して無効にした手続き及びトリガのSQLオブジェクトを実行するためには,ALTER ROUTINE,ALTER PROCEDURE,又はALTER TRIGGERを実行して,手続き及びトリガのSQLオブジェクトを再作成しておく必要があります。
-
WITH PROGRAM指定の有無に関係なく,削除するインデクスを定義している表に対する手続き及びトリガ(その表に定義したトリガを除く)がある場合,そのSQLオブジェクト中のインデクス情報は無効となります。この場合,このトリガは実行できなくなります。また,手続き又はトリガからこの手続きを実行できなくなるため,SQLオブジェクトを再作成する必要があります。
(7) 使用例
在庫表(ZAIKO)の商品コード(SCODE)列に定義したインデクス(IDX1)を削除します。
DROP INDEX IDX1