用途
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言語リファレンス』を参照してください。 |