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 |
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.