Usar cursores (ODBC)

ODBC admite un modelo de cursor que permite:

  • Varios tipos de cursores.

  • Desplazamiento y colocación en un cursor.

  • Varias opciones de simultaneidad.

  • Actualizaciones posicionadas.

Las aplicaciones ODBC raramente declaran y abren cursores o utilizan cualquier instrucción Transact-SQL relacionada con cursores. ODBC abre automáticamente un cursor para cada conjunto de resultados que devuelve una instrucción SQL. Las características de los cursores se controlan mediante atributos de instrucción que se establecen con SQLSetStmtAttr antes de ejecutar la instrucción SQL. Las funciones de la API de ODBC para procesar conjuntos de resultados admiten toda la funcionalidad del cursor, entre la que se incluye la captura, el desplazamiento y las actualizaciones posicionadas.

A continuación se ofrece una comparación de cómo los scripts de Transact-SQL y las aplicaciones ODBC trabajan con cursores.

Acción

Transact-SQL

ODBC

Definir el comportamiento del cursor

Se especifica a través de parámetros DECLARE CURSOR

Establece atributos de cursor mediante SQLSetStmtAttr

Abrir un cursor

DECLARE CURSOR OPEN nombreDeCursor

SQLExecDirect o SQLExecute

Capturar filas

FETCH

SQLFetch o SQLFetchScroll

Actualización posicionada

Cláusula WHERE CURRENT OF en UPDATE o DELETE

SQLSetPos

Cerrar un cursor

CLOSE nombreDeCursor DEALLOCATE

SQLCloseCursor

Los cursores de servidor implementados en SQL Server admiten la funcionalidad del modelo de cursores de ODBC. El controlador SQL Server Native Client utiliza cursores de servidor para admitir la funcionalidad de cursor de la API de ODBC.