Share via


Tipos de cursor

ODBC define cuatro tipos de cursor admitidos por Microsoft SQL Server y el controlador ODBC de SQL Server Native Client. Estos cursores varían en su capacidad para detectar cambios en el conjunto de resultados y en los recursos que consumen, como la memoria y el espacio de tempdb. Un cursor sólo puede detectar cambios en las filas cuando intenta volver a capturar estas filas; el origen de datos no dispone de ningún método para notificar al cursor los cambios en las filas actualmente capturadas. El nivel de aislamiento de transacción también afecta la capacidad de un cursor para detectar modificaciones que no se realizaron a través del cursor.

SQL Server admite cuatro tipos de cursor ODBC:

  • Los cursores de sólo avance no admiten el desplazamiento; sólo admiten la captura de filas en serie desde el inicio hasta el final del cursor.

  • Los cursores estáticos se integran en tempdb al abrir el cursor. Siempre muestran el conjunto de resultados tal como estaba al abrir el cursor. Nunca reflejan los cambios en los datos. Los cursores estáticos de SQL Server siempre son de sólo lectura. Dado que el cursor de servidor estático se genera como una tabla de trabajo en tempdb, el tamaño del conjunto de resultados del cursor no puede superar el tamaño máximo de fila que permite SQL Server.

  • En los cursores controlados por conjunto de claves, la pertenencia y el orden de las filas del conjunto de resultados se fijan al abrir el cursor. Los cambios en las columnas sin clave son visibles a través del cursor.

  • Los cursores dinámicos son los opuestos a los cursores estáticos. Reflejan todas las modificaciones realizadas en las filas de su conjunto de resultados. Los valores de datos, el orden y la pertenencia de las filas del conjunto de resultados pueden cambiar con cada captura.

Vea también

Conceptos