Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ () — Sybase DB Library C 4.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

  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












Typewritten Software • bear@typewritten.org • Edmonds, WA 98026