用途
ALTER
JAVA
文を使用すると、Javaクラス・スキーマ・オブジェクトの変換、またはJavaソース・スキーマ・オブジェクトのコンパイルを強制実行できます。(Java名に対するすべての外部参照を他のクラスと対応付ける前に、Javaクラスのメソッドをコールすることはできません。)
関連項目: Javaクラスの変換およびJavaソースのコンパイルの詳細は、『Oracle Database Java開発者ガイド』を参照してください。 |
前提条件
Javaソースやクラスが自分のスキーマ内にある必要があります。自分のスキーマ内にない場合は、ALTER
ANY
PROCEDURE
システム権限が必要です。さらに、Javaクラスに対するEXECUTE
オブジェクト権限も必要です。
セマンティクス
JAVA SOURCE
ALTER
JAVA
SOURCE
を使用すると、Javaソース・スキーマ・オブジェクトをコンパイルできます。
JAVA CLASS
ALTER
JAVA
CLASS
を使用すると、Javaクラス・スキーマ・オブジェクトを変換できます。
object_name
以前作成したJavaクラスまたはソース・スキーマ・オブジェクトを指定します。小文字、または大文字と小文字を組み合せた名前を付けるには、二重引用符を使用してください。
RESOLVER
句を使用すると、Javaクラスまたはソースが作成されたときに指定したマッピング・ペアを使用して、完全に指定された参照用のJava名に対するスキーマの検索方法を指定できます。
RESOLVE
およびCOMPILE
は、同義のキーワードです。これらの句を使用すると、プライマリJavaクラス・スキーマ・オブジェクトの変換を指定できます。
クラスに適用された場合、他のクラス・スキーマ・オブジェクトに対する参照名に変換されます。
ソースに適用された場合、ソースがコンパイルされます。
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言語リファレンス』 を参照してください。 |