Processing Stored Procedure Results

ODBC and SQL Server

ODBC and SQL Server

Processing Stored Procedure Results

Microsoft® SQL Server™ stored procedures have four mechanisms used to return data:

  • Each SELECT statement in the procedure generates a result set.

  • The procedure can return data through output parameters.

  • A cursor output parameter can pass back a Transact-SQL server cursor.

  • The procedure can have an integer return code.

Applications must be able to handle all of these outputs from stored procedures. The CALL or EXECUTE statement should include parameter markers for the return code and output parameters. Use SQLBindParameter to bind them all as output parameters and the ODBC driver will transfer the output values to the bound variables. Output parameters and return codes are the last items returned to the client by SQL Server; they are not returned to the application until SQLMoreResults returns SQL_NO_DATA.

ODBC does not support binding Transact-SQL cursor parameters. Since all output parameters must be bound before executing a procedure, any Transact-SQL stored procedure that contains an output cursor parameter cannot be called by ODBC applications.

To call remote procedures