home *** CD-ROM | disk | FTP | other *** search
-
- 1 Version 4.0 -- 5/1/89 dbretname
- ______________________________________________________________________
-
- NAME: dbretname
-
- FUNCTION:
- Determine the name of the stored procedure parameter associated
- with a particular return parameter value.
-
- SYNTAX:
- char *dbretname(dbproc, retnum)
-
- DBPROCESS *dbproc;
- int retnum;
-
-
-
-
-
-
-
-
- dbretname Version 4.0 -- 5/1/89 2
- ______________________________________________________________________
-
- COMMENTS:
-
- o dbretname() returns a pointer to the null-terminated parameter
- name associated with a return parameter value from a stored
- procedure. It is useful in conjunction 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 dbretname
- ______________________________________________________________________
- 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 dbretname() 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 dbret-
- name() or any other routines that process return parameters, it
- must call dbresults() and dbnextrow() as many times as neces-
- sary 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
-
-
-
- dbretname 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 dbretlen() returns the length 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 dbretname
- ______________________________________________________________________
-
- 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:
-
-
-
- dbretname Version 4.0 -- 5/1/89 6
- ______________________________________________________________________
- A pointer to the null-terminated parameter name for the specified
- return value. If retnum is out of range, dbretname() returns
- NULL.
-
- SEE ALSO:
- dbnextrow, dbnumrets, dbresults, dbretdata, dbretlen, dbrettype,
- dbrpcinit, dbrpcparam
-
-
-
-
-
-
-
-
-
-
-
-
-