Como chamar procedimentos armazenados (ODBC)
Quando uma instrução SQL chama um procedimento armazenado usando a cláusula escape ODBC CALL, o driver do Microsoft® SQL Server™ envia o procedimento para o SQL Server por meio do mecanismo RPC (chamada de procedimento armazenado remoto). As solicitações de RPC ignoram grande parte da análise de instruções e do processamento de parâmetros no SQL Server e são mais rápidas do que a instrução EXECUTE do Transact-SQL.
Para obter um exemplo de aplicativo que demonstra este recurso, veja o exemplo para processing return codes and output parametersdisponível no CodePlex; consulte Exemplos do Mecanismo de Banco de Dados do SQL Server para obter mais informações.
Para executar um procedimento como um RPC
Crie uma instrução SQL que use a seqüência de escape ODBC CALL. A instrução usa marcadores de parâmetro para cada parâmetro de entrada, entrada/saída e saída, e para o valor de retorno do procedimento (se houver):
{? = CALL procname (?,?)}
Chame SQLBindParameter para cada parâmetro de entrada, entrada/saída e saída, e para o valor de retorno do procedimento (se houver).
Execute a instrução com SQLExecDirect.
Observação |
---|
Se um aplicativo enviar um procedimento usando a sintaxe EXECUTE Transact-SQL (em oposição à seqüência de escape ODBC CALL), o driver ODBC SQL Server passará a chamada de procedimento para o SQL Server como uma instrução SQL, em vez de como um RPC. Além disso, os parâmetros de saída não serão retornados se a instrução EXECUTE Transact-SQL for usada. |