Partilhar via


Execução de Procedimentos

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

Para executar um procedimento, uma aplicação executa as seguintes ações:

  1. Define os valores de quaisquer parâmetros. Para mais informações, consulte Parâmetros da Instrução, mais à frente nesta secção.

  2. Chama SQLExecDirect e passa-lhe uma string contendo a instrução SQL que executa o procedimento. Esta instrução pode usar a sequência de escape definida pela sintaxe ODBC ou específica do SGBD; As instruções que utilizam sintaxe específica do SGBD não são interoperáveis.

  3. Quando o SQLExecDirect é chamado, o driver:

    • Recupera os valores atuais dos parâmetros e converte-os conforme necessário. Para mais informações, consulte Parâmetros da Instrução, mais à frente nesta secção.

    • Chama o procedimento na fonte de dados e envia-lhe os valores convertidos dos parâmetros. A forma como o driver invoca o procedimento depende de cada driver. Por exemplo, pode modificar a instrução SQL para usar a gramática SQL da fonte de dados e submeter essa instrução para execução, ou pode chamar o procedimento diretamente através de um mecanismo de Chamada de Procedimento Remoto (RPC) definido no protocolo de fluxo de dados do SGBD.

    • Devolve os valores de quaisquer parâmetros de entrada/saída ou de saída ou o valor de retorno do procedimento, assumindo que o procedimento tem sucesso. Estes valores podem não estar disponíveis até que todos os outros resultados (contagem de linhas e conjuntos de resultados) gerados pelo procedimento tenham sido processados. Se o procedimento falhar, o driver devolve todos os erros.