dbProcedureExecute

function

Library: Database access (OMDB legacy)
Include: omdb.xin

Declaration
define  external function dbProcedureExecute
        value       dbProcedure procedure
     in read-only   stream      inshelf   optional
   null value       stream      null     optional
    out modifiable  dbField     outshelf  optional
 result modifiable  dbField     result   optional

Argument definitions

procedure
is the dbProcedure object associated with an open procedure.
inshelf
is a shelf of stream items that contain the input and inout parameter values.
null
is a string, rather than an unattached stream, to represent a NULL value in the input parameter values.
outshelf
is a shelf of dbField items to receive output and inout parameter values, and the function procedure return.
result
is a dbField shelf attached to the attached to the result set for any SQL query executed.


Purpose

Use dbProcedureExecute to execute a stored procedure.

Requirements

You must include the following line at the beginning of your OmniMark program:

  include "omdb.xin"

The database where the procedure is stored must be:

procedure must:

The input shelf inshelf must The keys must be in the correct order.

Usage Notes

At the beginning of the function, the output shelf is cleared and filled with dbField items attached to the output and inout (combined input and output) procedure parameters. The input shelf items are sequentially matched to the procedure input parameters by position. You can represent NULL values in the input shelf item by an optional null specifier string or as an unattached stream.

The result shelf can contain multiple records. The input and output shelves can only contain a single record.

The result shelf is cleared in the function. If the procedure returns a result set the result shelf is filled with dbField items attached to the result set. The data value is extracted from the output and return parameters in a subsequent call to the dbFieldValue function.

The output and result dbField field items are keyed with the name of the procedure parameter, if one exists.

If a record used by the procedure has a date, time, or timestamp field, you must represent the field's value in the OmniMark Date and Time library format. (This format returns the time with a time zone offset from UTC time, which most databases do not provide.)