ALTER OPERATOR

目的

ALTER OPERATOR文を使用すると、既存の演算子に対するバインドを追加または削除したり、既存の演算子をコンパイルすることができます。

関連項目:

CREATE OPERATOR

前提条件

事前にCREATE OPERATOR文によって演算子が作成されている必要があります。演算子が自分のスキーマ内にあるか、またはALTER ANY OPERATORシステム権限が必要です。ALTER OPERATOR文で参照される演算子およびファンクションに対するEXECUTEオブジェクト権限が必要です。

構文

context_clause::=

using_function_clause::=

drop_binding_clause::=

セマンティクス

schema

演算子が含まれているスキーマを指定します。この句を指定しない場合、その演算子は自分のスキーマにあるとみなされます。

operator

変更する演算子の名前を指定します。

add_binding_clause

この句を使用すると、演算子バインドを追加し、パラメータ・データ型および戻り型を指定できます。この演算子の既存のバインドと異なるシグネチャを使用する必要があります。

演算子のバインドが索引タイプに関連付けられており、演算子に別のバインドを追加する場合、Oracle Databaseは新しいバインドと索引タイプの関連付けを自動的に行いません。関連付けを行うには、明示的なALTER INDEXTYPE ... ADD OPERATOR文を発行する必要があります。

implementation_clause

この句のセマンティクスは、CREATE OPERATORおよびALTER OPERATOR文で同じです。詳細は、「CREATE OPERATOR」のimplementation_clause」を参照してください。

context_clause

この句のセマンティクスは、CREATE OPERATORおよびALTER OPERATOR文で同じです。詳細は、「CREATE OPERATOR」のcontext_clause」を参照してください。

using_function_clause

この句のセマンティクスは、CREATE OPERATORおよびALTER OPERATOR文で同じです。詳細は、「CREATE OPERATOR」のusing_function_clause」を参照してください。

drop_binding_clause

この句を使用すると、演算子から削除するバインドのパラメータ・データ型のリストを指定できます。バインドに索引タイプや補助演算子バインドなどの依存オブジェクトが含まれる場合、FORCEを指定する必要があります。FORCEを指定すると、そのバインドに依存するすべてのオブジェクトにINVALIDのマークが付きます。依存オブジェクトは、DDL文、DML文または問合せで次に参照された際に再検証されます。

この句を使用して、この演算子に関連付けられた唯一のバインドを削除することはできません。この演算子に関連付けられた唯一のバインドを削除するには、DROP OPERATOR文を使用する必要があります。詳細は、「DROP OPERATOR」を参照してください。

COMPILE

COMPILEを指定すると、演算子を再コンパイルできます。

ユーザー定義演算子のコンパイル: 例

次の文は、演算子eq_op (「ユーザー定義演算子の作成: 例」で作成)をコンパイルします。

ALTER OPERATOR eq_op COMPILE;