Executar procedimentos armazenados – Chamar procedimentos armazenados
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics Analytics Platform System (PDW)
O driver ODBC do SQL Server dá suporte à execução de procedimentos armazenados como procedimentos armazenados remotos. Executar um procedimento armazenado como um procedimento armazenado remoto permite que o driver e o servidor otimizem o desempenho da execução do procedimento.
Quando uma instrução SQL chama um procedimento armazenado usando a cláusula de escape ODBC CALL, o driver do SQL Server envia o procedimento para o SQL Server usando o mecanismo de chamada de procedimento armazenado remoto (RPC). 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 aplicativo de exemplo que demonstra esse recurso, consulte Códigos de retorno de processo e parâmetros de saída (ODBC).
Para executar um procedimento como um RPC
Crie uma instrução SQL que use a sequê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 entrada, entrada/saída e parâmetro de saída e obter o valor de retorno de procedimento (se houver algum).
Execute a instrução com SQLExecDirect.
Observação
Se um aplicativo enviar um procedimento usando a sintaxe EXECUTE Transact-SQL (em oposição à sequê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.
Confira também
Processando em lote as chamadas de procedimento armazenado
Executando procedimentos armazenados
Chamando um procedimento armazenado
Procedimentos