HOW TO : CORE
execute a stored procedure
In this example will see how to execute a stored procedure.
We suppose that we have a stored procedure with name mysp and
the package of the stored procedure is mypackage.
The name of the class used to execute the stored procedure is
MySP. Here is the code:
Our class extends StoredProcedureGateway
This class has two abstract
methods that our class must implement.
In our example, we use the default database resource: if a different
resource have to be used, then the relative constructor of
must be called. For example, if we want to use the resource with name
then we have to substitute the code in the constructor with
If the execution of the stored procedure is part of a transaction,
then we have to implement a constructor that can take the
parameter and the relative constructor of
must be called:
The method setStoredProcedure
is used to set the stored procedure:
If our stored procedure has input and/or output parameters they must be
declared before the execution of the stored procedure. To set the
input parameters we use the method setInput
In our example the first two parameters are of type in
, the first
one is an integer and the second a string.
To set the output parameters we use the method setOutput
The first of the output parameters is an integer and the second a string.
The method myExecute
is used for executing the stored procedure
and eventually reading the returned data and/or the output parameters:
The boolean parameter of method execute
when the stored procedure returns a result set (cursor). In that case the data
returned will be read automatically by the method and will be saved
under the key ALL_ROWS_KEY
will be saved a boolean with
if no error occur or false
in the other case.
The output parameters must be read explicitly using the callable statement.
To call the MySP
class from an action we have to write: