@@CURSOR_ROWS (Transact-SQL)
Retorna o número de linhas de qualificação atualmente no último cursor aberto na conexão. Para melhorar o desempenho, o MicrosoftSQL Server pode popular cursores estáticos e conjuntos de chaves grandes assincronamente. @@CURSOR_ROWS pode ser chamado para determinar que o número das linhas que se qualificam para um cursor é recuperado no momento em que @@CURSOR_ROWS é chamado.
Sintaxe
@@CURSOR_ROWS
Tipos de retorno
inteiro
Valor de retorno
Valor de retorno |
Descrição |
---|---|
-m |
A tabela de cursor é populada de forma assíncrona. O valor retornado (-m) é o número de linhas atualmente no conjunto de chaves. |
-1 |
O cursor é dinâmico. Como os cursores dinâmicos refletem todas as alterações, o número de linhas que se qualificam para o cursor são alterados constantemente. Nunca se pode afirmar de forma definitiva que todas as linhas qualificadas foram recuperadas. |
0 |
Nenhum cursor foi aberto, nenhuma linha se qualificou para o último cursor aberto ou o último cursor aberto foi fechado ou desalocado. |
n |
A tabela está totalmente populada. O valor retornado (n) é o número total de linhas no cursor. |
Comentários
O número retornado por @@CURSOR_ROWS será negativo se o último cursor tiver sido aberto assincronamente. Cursores controlados por conjunto de chaves ou estáticos serão abertos assincronamente se o valor do sp_configurecursor threshold for maior que 0 e o número de linhas no conjunto de resultados do cursor for maior que o limite do cursor.
Exemplos
Este exemplo declara um cursor e usa SELECT para exibir o valor de @@CURSOR_ROWS. A configuração tem um valor de 0 antes de o cursor ser aberto e um valor de -1 para indicar que o conjunto de chaves do cursor é populado assincronamente.
USE AdventureWorks;
GO
SELECT @@CURSOR_ROWS;
DECLARE Name_Cursor CURSOR FOR
SELECT LastName ,@@CURSOR_ROWS FROM Person.Contact;
OPEN Name_Cursor;
FETCH NEXT FROM Name_Cursor;
SELECT @@CURSOR_ROWS;
CLOSE Name_Cursor;
DEALLOCATE Name_Cursor;
GO
Seguem os conjuntos de resultados:
-----------
0
LastName
---------------
Achong
-----------
-1
Consulte também