home *** CD-ROM | disk | FTP | other *** search
-
- 1 Version 4.0 -- 5/1/89 dbretlen
- ______________________________________________________________________
-
- NAME: dbretlen
-
- FUNCTION:
- Determine the length of a return parameter value generated by a
- stored procedure.
-
- SYNTAX:
- DBINT dbretlen(dbproc, retnum)
-
- DBPROCESS *dbproc;
- int retnum;
-
-
-
-
-
-
-
-
- dbretlen Version 4.0 -- 5/1/89 2
- ______________________________________________________________________
-
- COMMENTS:
-
- o dbretlen() returns the length of a particular return parameter
- value generated by a stored procedure. It is useful in con-
- junction with remote procedure calls and EXECUTE statements on
- stored procedures.
- o Transact-SQL stored procedures can return values for specified
- "return parameters." Changes made to the value of a return
- parameter inside the stored procedure are then available to the
- program that called the procedure. This is analogous to the
- "pass by reference" facility available in some programming
- languages.
-
- For a parameter to function as a return parameter, it must be
- declared as such within the stored procedure. The EXECUTE
- statement or remote procedure call that calls the stored pro-
- cedure must also indicate that the parameter should function as
-
-
- 3 Version 4.0 -- 5/1/89 dbretlen
- ______________________________________________________________________
- a return parameter. In the case of a remote procedure call, it
- is the dbrpcparam() routine that specifies whether a parameter
- is a return parameter.
-
- o When executing a stored procedure, the server returns any
- parameter values immediately after returning all other results.
- Therefore, the application can call dbretlen() only after pro-
- cessing the stored procedure's results by calling dbresults(),
- as well as dbnextrow() if appropriate. (Note that a stored
- procedure can generate several sets of results-one for each
- SELECT it contains. Before the application can call dbretlen()
- or any other routines that process return parameters, it must
- call dbresults() and dbnextrow() as many times as necessary to
- process all the results.)
- o If the stored procedure is invoked with a remote procedure
- call, the return parameter values are automatically available
- to the application. If, on the other hand, the stored
-
-
-
- dbretlen Version 4.0 -- 5/1/89 4
- ______________________________________________________________________
- procedure is invoked with an EXECUTE statement, the return
- parameter values are available only if the command batch con-
- taining the EXECUTE statement uses local variables, not con-
- stants, for the return parameters.
-
- o Other routines return additional information about return
- parameter values:
- o dbnumrets() returns the total number of return parameter
- values.
-
- o dbretdata() returns a pointer to a parameter value.
- o dbretname() returns the name of a parameter value.
-
- o dbrettype() returns the datatype of a parameter value.
- o For an example of this routine, see Example 8 in the DB-Library
- Reference Supplement.
-
-
-
-
- 5 Version 4.0 -- 5/1/89 dbretlen
- ______________________________________________________________________
-
- PARAMETERS:
- dbproc - A pointer to the DBPROCESS structure that provides the
- connection for a particular front-end/SQL Server process. It
- contains all the information that DB-Library uses to manage
- communications and data between the front end and SQL Server.
- retnum - The number of the return parameter value of interest.
- The first return value is 1. Values are returned in the same
- order as the parameters were originally specified in the
- stored procedure's CREATE PROCEDURE statement. (Note that
- this is not necessarily the same order as specified in the
- remote procedure call.) When specifying retnum, non-return
- parameters do not count. For example, if the second parame-
- ter in a stored procedure is the only return parameter, its
- retnum is 1, not 2.
-
- RETURNS:
-
-
-
- dbretlen Version 4.0 -- 5/1/89 6
- ______________________________________________________________________
- The length of the specified return parameter value. If retnum is
- out of range, dbretlen() returns -1. If the return value is
- null, dbretlen() returns 0.
-
- SEE ALSO:
- dbnextrow, dbnumrets, dbresults, dbretdata, dbretname, dbrettype,
- dbrpcinit, dbrpcparam
-
-
-
-
-
-
-
-
-
-
-
-
-