ALTER JAVA
目的
ALTER
JAVA
文を使用すると、Javaクラス・スキーマ・オブジェクトの変換、またはJavaソース・スキーマ・オブジェクトのコンパイルを強制実行できます。(Java名に対するすべての外部参照を他のクラスと対応付ける前に、Javaクラスのメソッドをコールすることはできません。)
関連項目:
Javaクラスの変換およびJavaソースのコンパイルの詳細は、『Oracle Database Java開発者ガイド』を参照してください。
前提条件
Javaソースやクラスが自分のスキーマ内にある必要があります。自分のスキーマ内にない場合は、ALTER
ANY
PROCEDURE
システム権限が必要です。さらに、Javaクラスに対するEXECUTE
オブジェクト権限も必要です。
構文
invoker_rights_clause::=
セマンティクス
JAVA SOURCE
ALTER
JAVA
SOURCE
を使用すると、Javaソース・スキーマ・オブジェクトをコンパイルできます。
JAVA CLASS
ALTER
JAVA
CLASS
を使用すると、Javaクラス・スキーマ・オブジェクトを変換できます。
object_name
以前作成したJavaクラスまたはソース・スキーマ・オブジェクトを指定します。小文字、または大文字と小文字を組み合せた名前を付けるには、二重引用符を使用してください。
RESOLVER
RESOLVER
句を使用すると、Javaクラスまたはソースが作成されたときに指定したマッピング・ペアを使用して、完全に指定された参照用のJava名に対するスキーマの検索方法を指定できます。
関連項目:
RESOLVE | COMPILE
RESOLVE
およびCOMPILE
は、同義のキーワードです。これらの句を使用すると、プライマリJavaクラス・スキーマ・オブジェクトの変換を指定できます。
-
クラスに適用された場合、他のクラス・スキーマ・オブジェクトに対する参照名に変換されます。
-
ソースに適用された場合、ソースがコンパイルされます。
invoker_rights_clause
invoker_rights_clause
を使用すると、クラスを定義したユーザーのスキーマ内で、そのユーザーの権限を使用してクラスのメソッドを実行するか、または、CURRENT_USER
のスキーマ内で、そのユーザーの権限を使用してクラスのメソッドを実行するかを指定できます。
また、この句は、問合せ、DML操作、およびその型のメンバー・ファンクションおよびプロシージャ内の動的SQL文の外部名の変換方法も定義します。
AUTHID CURRENT_USER
CURRENT_USER
を指定すると、クラスのメソッドがCURRENT_USER
権限で実行されることを指定できます。この句はデフォルトで、実行者権限クラスを作成します。
また、この句は、問合せ、DML操作、および動的SQL文の外部名をCURRENT_USER
のスキーマで変換することも指定します。他のすべての文における外部名は、メソッドを含むスキーマで変換します。
AUTHID DEFINER
DEFINER
を指定すると、クラスのメソッドが、そのクラスを定義したユーザーの権限で実行されることを指定できます。
さらに、メソッドのあるスキーマ内で外部名を変換するかどうかを指定します。
関連項目:
CURRENT_USER
の判断方法については、『Oracle Database PL/SQL言語リファレンス』を参照してください。
例
Javaクラスの変換: 例
次の文は、Javaクラスの変換を強制的に実行します。
ALTER JAVA CLASS "Agent" RESOLVER (("/usr/bin/bfile_dir/*" pm)(* public)) RESOLVE;