Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Base de dados SQL no Microsoft Fabric
Esta função devolve o número de linhas qualificadas atualmente no último cursor aberto na ligação. Para melhorar o desempenho, o SQL Server pode preencher de forma assíncrona um conjunto grande de chaves e cursores estáticos.
@@CURSOR_ROWS pode ser chamado para determinar que o número das linhas que qualificam para um cursor é recuperado no momento da @@CURSOR_ROWS chamada.
Transact-SQL convenções de sintaxe
Sintaxe
@@CURSOR_ROWS
Tipos de devolução
int
Valor de retorno
| Valor de retorno | Description |
|---|---|
-m |
O cursor preenche de forma assíncrona. O valor devolvido (-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 muda constantemente. O cursor não recupera necessariamente todas as linhas qualificadas. |
0 |
Nenhum cursor está aberto, nenhuma linha qualificada para o último cursor aberto, ou o último cursor aberto está fechado ou desalocado. |
n |
O cursor está totalmente preenchido. O valor devolvido (n) é o número total de linhas no cursor. |
Observações
@@CURSOR_ROWS devolve um número negativo se o último cursor abriu assíncrono. Os cursores keyset-driver ou estáticos abrem-se assíncronos se o valor do sp_configure limiar do cursor exceder 0, e o número de linhas no conjunto de resultados do cursor exceder o limiar do cursor.
Examples
Este exemplo declara primeiro um cursor, e depois usa SELECT para mostrar o valor de @@CURSOR_ROWS. A definição tem um valor de 0 antes do cursor abrir e depois tem um valor de -1, para indicar que o conjunto de teclas do cursor se preenche assíncronamente.
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
Aqui estão os conjuntos de resultados.
-----------
0
LastName (No column name) ROWSTAT
--------- ----------------- ---------
Sánchez -1 NULL
-----------
-1