@@CURSOR_ROWS (Transact-SQL)
Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do Azure
Retorna o número de linhas de qualificação atualmente no último cursor aberto na conexão. Para melhorar o desempenho, o SQL 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 da chamada @@CURSOR_ROWS.
Convenções de sintaxe de Transact-SQL
Sintaxe
@@CURSOR_ROWS
Observação
Para exibir a sintaxe do Transact-SQL para o SQL Server 2014 (12.x) e versões anteriores, confira a Documentação das versões anteriores.
Tipos de retorno
inteiro
Valor Retornado
Valor retornado | Descrição |
---|---|
-m | O cursor é populado 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 é alterado constantemente. O cursor não necessariamente recupera todas as linhas qualificadas. |
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
@@CURSOR_ROWS
retorna um número negativo se o último cursor foi aberto de forma assíncrona. Os cursores controlados por conjunto de chaves ou estáticos serão abertos de forma assíncrona se o valor do limite do cursor sp_configure exceder 0 e o número de linhas no conjunto de resultados do cursor exceder 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 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
Estes são os conjuntos de resultados.
-----------
0
LastName
---------------
Sanchez
-----------
-1
Confira também
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de