Compartir a través de


Utilizar una instrucción (ODBC)

Se aplica a: SQL Server Azure SQL Database Azure SQL Instancia administrada Azure Synapse Analytics Analytics Platform System (PDW)

Para utilizar una instrucción

  1. Llame a SQLAllocHandle con un HandleType de SQL_HANDLE_STMT para asignar un identificador de instrucción.

  2. Opcionalmente, llame a SQLSetStmtAttr para establecer las opciones de la instrucción o a SQLGetStmtAttr para obtener atributos de instrucción.

    Para utilizar cursores de servidor, debe establecer los atributos de cursor en valores distintos de sus valores predeterminados.

  3. Opcionalmente, si la instrucción se va a ejecutar varias veces, prepárela para la ejecución con SQLPrepare Function.

  4. Opcionalmente, si la instrucción ha enlazado marcadores de parámetros, enlace los marcadores de parámetros a las variables del programa utilizando SQLBindParameter. Si se ha preparado la instrucción, puede llamar a SQLNumParams y SQLDescribeParam to find the number y characteristics of the parameters.

  5. Ejecute directamente una instrucción utilizando SQLExecDirect.

    O bien

    Si se ha preparado la instrucción, ejecútela varias veces utilizando SQLExecute.

    O bien

    Llame a una función de catálogo, que devuelve los resultados.

  6. Procese los resultados enlazando las columnas del conjunto de resultados a variables de programa, moviendo los datos de las columnas del conjunto de resultados a las variables del programa mediante SQLGetDatao una combinación de los dos métodos.

    Capture una fila cada vez del conjunto de resultados de una instrucción.

    O bien

    Capture varias filas cada vez del conjunto de resultados mediante un cursor de bloque.

    O bien

    Llame a SQLRowCount para determinar el número de filas afectado por una instrucción INSERT, UPDATE o DELETE.

    Si la instrucción SQL puede tener varios conjuntos de resultados, llame a SQLMoreResults al final de cada conjunto de resultados para determinar si hay más conjuntos de resultados que procesar.

  7. Una vez procesados los resultados, pueden requerirse las acciones siguientes para que el identificador de instrucción esté disponible para ejecutar una nueva instrucción:

    • Si no llamó a SQLMoreResults hasta que se devolvió SQL_NO_DATA, llame a SQLCloseCursor para cerrar el cursor.

    • Si ha enlazado marcadores de parámetros a las variables del programa, llame a SQLFreeStmt con Option establecido en SQL_RESET_PARAMS para liberar los parámetros enlazados.

    • Si ha enlazado columnas de conjuntos de resultados a las variables del programa, llame a SQLFreeStmt con Option establecido en SQL_UNBIND para liberar las columnas enlazadas.

    • Para reutilizar el identificador de instrucción, vaya al paso 2.

  8. Llame a SQLFreeHandle con un HandleType de SQL_HANDLE_STMT para liberar el identificador de instrucción.

Consulte también

Temas de procedimientos de ejecución de consultas (ODBC)