Processando resultados do procedimento armazenado
SQL Server procedimentos armazenados têm quatro mecanismos usados para retornar dados:
Cada instrução SELECT no procedimento gera um conjunto de resultados.
O procedimento pode retornar dados através de parâmetros de saída.
Um parâmetro de saída de cursor pode passar um cursor de servidor Transact-SQL.
O procedimento pode ter um código de retorno de inteiro.
Os aplicativos devem conseguir tratar todas essas saídas dos procedimentos armazenados. A instrução CALL ou EXECUTE deve incluir marcadores de parâmetro para o código de retorno e parâmetros de saída. Use SQLBindParameter para associá-los a todos como parâmetros de saída e o driver ODBC SQL Server Native Client transferirá os valores de saída para as variáveis associadas. Parâmetros de saída e códigos de retorno são os últimos itens retornados ao cliente por SQL Server; eles não são retornados ao aplicativo até que SQLMoreResults retorne SQL_NO_DATA.
O ODBC não dá suporte à associação de parâmetros de cursor Transact-SQL. Como todos os parâmetros de saída devem ser associados antes de executar um procedimento, qualquer procedimento armazenado Transact-SQL que contenha um parâmetro de cursor de saída não pode ser chamado por aplicativos ODBC.