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
Banco de Dados SQL do Azure
Instância Gerenciada SQL do Azure
Banco de Dados SQL do Azure Synapse Analytics
no Microsoft Fabric
Faz com que o SQL Server pare de processar a consulta após o número especificado de linhas ser devolvido.
Transact-SQL convenções de sintaxe
Sintaxe
SET ROWCOUNT { number | @number_var }
Arguments
número | @number_var
É o número, um inteiro, de linhas a processar antes de interromper a consulta específica.
Observações
Importante
A utilização SETSET ROWCOUNT não afetará DELETE, INSERT, e UPDATE instruções numa futura versão do SQL Server. Evite usar SETSET ROWCOUNT instruções com DELETE, INSERT, e UPDATE em novos trabalhos de desenvolvimento, e planeie modificar aplicações que já as utilizam. Para um comportamento semelhante, use a sintaxe TOP. Para obter mais informações, consulte TOP (Transact-SQL).
Para ativar esta opção de modo a que todas as linhas sejam devolvidas, especifique SET ROWCOUNT 0.
Definir a SET ROWCOUNT opção faz com que a maioria das instruções Transact-SQL pare de ser processada quando são afetadas pelo número especificado de linhas. Isto inclui os gatilhos. A ROWCOUNT opção não afeta os cursores dinâmicos, mas limita o conjunto de linhas de keyset e cursores insensíveis. Esta opção deve ser usada com cautela.
SET ROWCOUNT sobrepõe a palavra-chave da instrução SELECT TOP se a contagem de linhas for o valor menor.
A definição de SET ROWCOUNT é definida em tempo de execução ou execução e não em tempo de análise sintática.
Permissions
Requer a participação na função pública.
Examples
SET ROWCOUNT para o processamento após o número especificado de linhas. No exemplo seguinte, note-se que mais de 500 linhas cumprem os critérios de Quantity menos que 300. No entanto, após a candidatura SET ROWCOUNT, pode ver que nem todas as linhas foram devolvidas.
USE AdventureWorks2022;
GO
SELECT count(*) AS Count
FROM Production.ProductInventory
WHERE Quantity < 300;
GO
Aqui está o conjunto de resultados.
Count
-----------
537
(1 row(s) affected)
Agora, defina ROWCOUNT e 4 devolve todas as linhas para demonstrar que apenas 4 linhas são devolvidas.
SET ROWCOUNT 4;
SELECT *
FROM Production.ProductInventory
WHERE Quantity < 300;
GO
-- (4 row(s) affected)
Exemplos: Azure Synapse Analytics
SET ROWCOUNT para o processamento após o número especificado de linhas. No exemplo seguinte, note-se que mais de 20 linhas cumprem os critérios de AccountType = 'Assets'. No entanto, após a candidatura SET ROWCOUNT, pode ver que nem todas as linhas foram devolvidas.
-- Uses AdventureWorks
SET ROWCOUNT 5;
SELECT * FROM [dbo].[DimAccount]
WHERE AccountType = 'Assets';
Para devolver todas as linhas, defina ROWCOUNT para 0.
-- Uses AdventureWorks
SET ROWCOUNT 0;
SELECT * FROM [dbo].[DimAccount]
WHERE AccountType = 'Assets';