ALTER INDEXTYPE
目的
ALTER
INDEXTYPE
文を使用すると、索引タイプの演算子を追加または削除したり、実装タイプを変更したり、索引タイプのプロパティを変更することができます。
前提条件
索引タイプが自分のスキーマ内にある必要があります。自分のスキーマ内にない場合は、ALTER
ANY
INDEXTYPE
システム権限が必要です。
新しい演算子を追加する場合は、その演算子に対するEXECUTE
オブジェクト権限が必要です。
実装タイプを変更する場合は、新しい実装タイプに対するEXECUTE
オブジェクト権限が必要です。
構文
array_DML_clause
storage_table_clause
セマンティクス
IF EXISTS
IF EXISTS
は、既存の表を変更する場合に指定します。
ALTER VIEW
にIF NOT EXISTS
を指定すると、ORA-11544: Incorrect IF EXISTS clause for ALTER/DROP statement
が発生します。
schema
索引タイプが存在するスキーマ名を指定します。schema
を指定しない場合、この索引タイプは自分のスキーマ内にあるとみなされます。
indextype
変更する索引タイプの名前を指定します。
ADD | DROP
ADD
またはDROP
句を使用すると、演算子を追加または削除できます。
削除には特別な権限は必要ありません。
-
schema
には、演算子を含むスキーマを指定します。schema
を指定しない場合、その演算子は自分のスキーマ内にあるとみなされます。 -
operator
には、索引タイプによってサポートされる演算子の名前を指定します。この句に指定するすべての演算子は有効な演算子である必要があります。
-
parameter_type
には、演算子へのパラメータ・タイプを指定します。
array_DML_clause
この句を使用すると、ODCIIndexInsert
メソッドで配列インタフェースをサポートする索引タイプを変更できます。
typeおよびvarray_type
索引付けする列のデータ型がユーザー定義オブジェクト型である場合は、Oracleがtype
の列値の保持に使用するVARRAY varray_type
を識別するために、この句を指定する必要があります。索引タイプで型のリストがサポートされている場合、対応するVARRAY型のリストを指定できます。type
またはvarray_type
でschema
を省略した場合、型が自分のスキーマ内に定義されているとみなされます。
索引付けする列のデータ型が組込みシステム型である場合、その索引タイプに指定されたVARRAY型は、システムで定義されたODCI型よりも優先されます。
COMPILE
この句を使用すると、索引タイプを明示的に再コンパイルできます。通常、索引タイプは自動的に再コンパイルされるため、この句は一部のアップグレード操作の後でのみ指定する必要があります。
storage_table_clause
この句では、索引タイプを変更する場合に、索引タイプを作成するときと同じ動作になります。詳細は、「CREATE
INDEXTYPE
」の「storage_table_clause」を参照してください。
WITH LOCAL PARTITION
この句では、索引タイプを変更する場合に、索引タイプを作成するときと同じ動作になります。詳細は、「CREATE
INDEXTYPE
」の句「WITH LOCAL PARTITION」を参照してください。
例
索引タイプの変更: 例
次の例では、「索引タイプの作成: 例」で作成したposition_indextype
索引タイプをコンパイルします。
ALTER INDEXTYPE position_indextype COMPILE;