Compartilhar via


Usar uma instrução (ODBC)

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure PDW (Sistema de Plataforma de Análise) do Azure Synapse Analytics

Para usar uma instrução

  1. Chame SQLAllocHandle com um HandleType de SQL_HANDLE_STMT para alocar um identificador da instrução.

  2. Outra opção é chamar o SQLSetStmtAttr para definir opções de instrução ou SQLGetStmtAttr para obter atributos de instrução.

    Para usar cursores de servidor, você deve definir atributos de cursor como valores diferente de seus padrões.

  3. Opcionalmente, se a instrução for executada várias vezes, prepare a instrução para execução com a Função SQLPrepare.

  4. Opcionalmente, se a instrução associou marcadores de parâmetro, associe os marcadores de parâmetro para programar variáveis usando SQLBindParameter. Se a instrução tiver sido preparada, você poderá chamar SQLNumParams e SQLDescribeParam para localizar o número e características dos parâmetros.

  5. Execute uma instrução diretamente usando SQLExecDirect.

    - ou -

    Se a instrução tiver sido preparada, execute-a várias vezes usando SQLExecute.

    - ou -

    Chame uma função de catálogo, que retorna resultados.

  6. Processe os resultados associando as colunas de conjunto de resultados a variáveis do programa, movendo dados das colunas do conjunto de resultados para programar variáveis usando SQLGetData ou uma combinação de dois métodos.

    Busque uma linha de cada vez no conjunto de resultados de uma instrução.

    - ou -

    Busque várias linhas por vez no conjunto de resultados usando um cursor em bloco.

    - ou -

    Chame SQLRowCount para determinar o número de linhas afetadas por uma instrução INSERT, UPDATE ou DELETE.

    Se a instrução SQL tiver vários conjuntos de resultados, chame SQLMoreResults no fim de cada conjunto de resultados para ver se há outros conjuntos de resultados para processar.

  7. Depois que os resultados forem processados, as ações a seguir poderão ser necessárias para tornar o identificador da instrução disponível para executar uma nova instrução:

    • Se você não tiver chamado SQLMoreResults até ele retornar SQL_NO_DATA, chame SQLCloseCursor para fechar o cursor.

    • Se você associar marcadores de parâmetro para programar variáveis, chame SQLFreeStmt com Option definido como SQL_RESET_PARAMS para liberar os parâmetros associados.

    • Se você associar colunas do conjunto de resultados para programar variáveis, chame SQLFreeStmt com Option definido como SQL_UNBIND para liberar as colunas associadas.

    • Para reutilizar o identificador de instrução, vá para Etapa 2.

  8. Chame SQLFreeHandle com um HandleType de SQL_HANDLE_STMT para liberar o identificador de instrução.

Confira também

Tópicos de instruções sobre a execução de consultas (ODBC)