カーソルを使用してテーブルから既存のすべてのインデックス (ビットマップ インデックス ジョイン) をフェッチし、それらを削除したいと考えています。逆に、 and index が存在しない場合は作成します。
これまでのところ、私は手順でこれを行っていました:
DECLARE
COUNT_INDEXES INTEGER;
BEGIN
SELECT COUNT(*)
INTO COUNT_INDEXES
FROM USER_INDEXES
WHERE INDEX_NAME = 'IDXNAME' ;
IF COUNT_INDEXES > 0 THEN
EXECUTE IMMEDIATE 'DROP INDEX IDXNAME';
END IF;
END;