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, confira Chamadas de procedimento.
Para executar um procedimento, um aplicativo realiza as seguintes ações:
Define os valores de parâmetros. Para obter mais informações, confira Parâmetros de instrução mais adiante nesta seção.
Chama SQLExecDirect e passa para ele 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 de ODBC ou DBMS. Instruções que usam sintaxe específica do DBMS não são interoperáveis.
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 a ele os valores do parâmetro convertidos. O modo como o driver chama o procedimento depende do driver. Por exemplo, ele pode modificar a instrução SQL para que use 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 todos os parâmetros de entrada/saída ou saída ou o valor retornado do procedimento, supondo que o procedimento seja bem-sucedido. Esses valores talvez não estejam disponíveis até todos os outros resultados (contagens de linhas e conjuntos de resultados) gerados pelo procedimento terem sido processados. Se o procedimento falhar, o driver retornará qualquer erro.