Compartilhar via


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

  1. 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 (?,?)}  
    
  2. 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).

  3. 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