@@CURSOR_ROWS (Transact-SQL)
Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance
Devuelve el número de filas certificadas que se encuentran en el último cursor abierto en la conexión. Para mejorar el rendimiento, SQL Server puede rellenar asincrónicamente los cursores estáticos y de conjunto de claves de gran tamaño. Se puede llamar a @@CURSOR_ROWS
para determinar que el número de filas que cumplan las condiciones del cursor se recuperen en el momento en que se llama a @@CURSOR_ROWS.
Convenciones de sintaxis de Transact-SQL
Sintaxis
@@CURSOR_ROWS
Nota:
Para ver la sintaxis de Transact-SQL para SQL Server 2014 (12.x) y versiones anteriores, consulte Versiones anteriores de la documentación.
Tipos de valores devueltos
integer
Valor devuelto
Valor devuelto | Descripción |
---|---|
-m | El cursor se rellena de forma asincrónica. El valor devuelto (-m) es el número de filas que el conjunto de claves contiene actualmente. |
-1 | El cursor es dinámico. Como los cursores dinámicos reflejan todos los cambios, el número de filas correspondientes al cursor cambia constantemente. El cursor no necesariamente recupera todas las filas calificadas. |
0 | No se han abierto cursores, no hay filas calificadas para el último cursor abierto, o éste se ha cerrado o su asignación se ha cancelado. |
n | El cursor está completamente relleno. El valor devuelto (n) es el número total de filas del cursor. |
Observaciones
@@CURSOR_ROWS
devuelve un número negativo si el último cursor se ha abierto de forma asincrónica. Los cursores controlados por conjunto de claves o cursores estáticos se abren de forma asincrónica si el valor umbral del cursor de sp_configure es mayor que 0 y el número de filas del conjunto de resultados del cursor es mayor que su valor umbral.
Ejemplos
Este ejemplo declara primero un cursor y luego usa SELECT
para mostrar el valor de @@CURSOR_ROWS
. La opción tiene el valor 0
antes de que se abra el cursor y luego tiene el valor -1
para indicar que el conjunto de claves del cursor se rellena de forma asincrónica.
USE AdventureWorks2022;
GO
SELECT @@CURSOR_ROWS;
DECLARE Name_Cursor CURSOR FOR
SELECT LastName ,@@CURSOR_ROWS FROM Person.Person;
OPEN Name_Cursor;
FETCH NEXT FROM Name_Cursor;
SELECT @@CURSOR_ROWS;
CLOSE Name_Cursor;
DEALLOCATE Name_Cursor;
GO
Los conjuntos de resultados son los siguientes.
-----------
0
LastName
---------------
Sanchez
-----------
-1
Consulte también
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de