Oracle® Database SQL Language Reference 11g Release 2 (11.2) Part Number E10592-02 |
|
|
View PDF |
Purpose
Use the ALTER
JAVA
statement to force the resolution of a Java class schema object or compilation of a Java source schema object. (You cannot call the methods of a Java class before all its external references to Java names are associated with other classes.)
See Also:
Oracle Database Java Developer's Guide for more information on resolving Java classes and compiling Java sourcesPrerequisites
The Java source or class must be in your own schema, or you must have the ALTER
ANY
PROCEDURE
system privilege. You must also have the EXECUTE
object privilege on Java classes.
Syntax
alter_java::=
Semantics
JAVA SOURCE
Use ALTER
JAVA
SOURCE
to compile a Java source schema object.
JAVA CLASS
Use ALTER
JAVA
CLASS
to resolve a Java class schema object.
object_name
Specify a previously created Java class or source schema object. Use double quotation marks to preserve lower- or mixed-case names.
The RESOLVER
clause lets you specify how schemas are searched for referenced fully specified Java names, using the mapping pairs specified when the Java class or source was created.
RESOLVE
and COMPILE
are synonymous keywords. They let you specify that Oracle Database should attempt to resolve the primary Java class schema object.
When applied to a class, resolution of referenced names to other class schema objects occurs.
When applied to a source, source compilation occurs.
The invoker_rights_clause
lets you specify whether the methods of the class execute with the privileges and in the schema of the user who defined it or with the privileges and in the schema of CURRENT_USER
.
This clause also determines how Oracle Database resolves external names in queries, DML operations, and dynamic SQL statements in the member functions and procedures of the type.
AUTHID CURRENT_USER Specify CURRENT_USER
if you want the methods of the class to execute with the privileges of CURRENT_USER
. This clause is the default and creates an invoker-rights class.
This clause also specifies that external names in queries, DML operations, and dynamic SQL statements resolve in the schema of CURRENT_USER
. External names in all other statements resolve in the schema in which the methods reside.
AUTHID DEFINER Specify DEFINER
if you want the methods of the class to execute with the privileges of the user who defined the class.
This clause also specifies that external names resolve in the schema where the methods reside.
See Also:
Oracle Database PL/SQL Language Reference for information on howCURRENT_USER
is determinedExamples
Resolving a Java Class: Example The following statement forces the resolution of a Java class:
ALTER JAVA CLASS "Agent" RESOLVER (("/usr/bin/bfile_dir/*" pm)(* public)) RESOLVE;