The CREATE PROCEDURE statement allows you to create Java stored procedures, which you can then call using the CALL PROCEDURE statement.
The
procedure owner and the
For details on how Derby matches procedures to Java methods,
see
If schema-Name is not provided, the current schema is the default schema. If a qualified procedure name is specified, the schema name cannot begin with SYS.
The default value for a parameter is IN. ParameterName must be unique within a procedure.
The syntax of DataType is described
in
Indicates the estimated upper bound of returned result sets for the procedure. Default is no (zero) dynamic result sets.
JAVA- the database manager will call the procedure as a public static method in a Java class.
String describes
the Java method to be called when the procedure is executed, and takes the
following form:
Declares that the procedure is deterministic, meaning that with the same
set of input values, it always computes the same result. The default is NOT
DETERMINISTIC.
JAVA - The procedure will use a parameter-passing convention that conforms to the Java language and SQL Routines specification. INOUT and OUT parameters will be passed as single entry arrays to facilitate returning values. Result sets are returned through additional parameters to the Java method of type java.sql.ResultSet [] that are passed single entry arrays.
If SQL authorization mode is enabled, a procedure runs by default with the privileges specified for the user who invokes the procedure (invoker's rights). To specify that the procedure should run with the privileges specified for the user who defines the procedure (definer's rights), create the procedure with EXTERNAL SECURITY DEFINER. Those privileges include the right to set the current role to a role for which the definer has privileges. When the procedure is first invoked, no role is set; even if the invoker has set a current role, the procedure running with definer's rights has no current role set initially.
See
When a procedure with definer's rights is called, the current default schema is set to the eponymously named schema of the definer. For example, if the defining user is called OWNER, the default schema will also be set to OWNER.
When a procedure with invoker's rights is called, the current default schema and current role are unchanged initially within the procedure. Similarly, if SQL authorization mode is not enabled, the current default schema is unchanged initially within the procedure.
When the call returns, any changes made inside the procedure to the default current schema (and current role, if relevant) are reset (popped).
If SQL authorization mode is not enabled, an attempt to create a procedure with EXTERNAL SECURITY will result in an error.
Indicates whether the stored procedure issues any SQL statements and, if so, what type. MODIFIES SQL DATA is the default value. A stored procedure which issues a statement which does not conform to the declared SQL statement level will cause Derby to throw an exception.
The procedure elements may appear in any order, but each type of element can only appear once. A procedure definition must contain these elements: