Compartilhar via


Executar procedimentos

O ODBC define uma sequência de escape padrão para executar procedimentos. Para obter a sintaxe dessa sequência e um exemplo de código que a usa, consulte Chamadas de Procedimento.

Para executar um procedimento, um aplicativo executa as seguintes ações:

  1. Define os valores de parâmetros. Para obter mais informações, confira Parâmetros de instrução mais adiante nesta seção.

  2. Chama SQLExecDirect e passa uma cadeia de caracteres contendo a instrução SQL que executa o procedimento. Essa instrução pode usar a sequência de escape definida pela sintaxe específica do ODBC ou do DBMS; instruções que usam a sintaxe específica do DBMS não são interoperáveis.

  3. Quando SQLExecDirect é chamado, o driver:

    • Recupera os valores atuais de parâmetro e os converte conforme necessário. Para obter mais informações, confira Parâmetros de instrução mais adiante nesta seção.

    • Chama o procedimento na fonte de dados e envia os valores de parâmetro convertidos. A forma como o driver chama o procedimento é específica de cada driver. Por exemplo, ele pode modificar a instrução SQL para usar a gramática SQL da fonte de dados e enviar essa instrução para execução, ou pode chamar o procedimento diretamente usando um mecanismo de RPC (Chamada de Procedimento Remoto) definido no protocolo de fluxo de dados do DBMS.

    • Retorna os valores de qualquer parâmetro de entrada/saída ou saída ou o valor retornado do procedimento, supondo que o procedimento seja bem-sucedido. Esses valores podem não estar disponíveis até que todos os outros resultados (contagens de linhas e conjuntos de resultados) gerados pelo procedimento tenham sido processados. Se o procedimento falhar, o driver retornará os erros.