Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Sistema de Plataforma de Análise (PDW)
Banco de dados SQL no Microsoft Fabric
Faz o SQL Server parar o processamento da consulta depois que o número especificado de linhas for retornado.
Convenções de sintaxe de Transact-SQL
Sintaxe
SET ROWCOUNT { number | @number_var }
Argumentos
número | @number_var
É o número inteiro de filas a serem processadas antes de finalizar a consulta específica.
Comentários
Importante
O uso de SET ROWCOUNT não afetará as instruções DELETE, INSERT e UPDATE em uma futura versão do SQL Server. Evite usar SET ROWCOUNT com instruções DELETE, INSERT e UPDATE em um novo trabalho de desenvolvimento e planeje modificar os aplicativos que a utilizam atualmente. Para um comportamento semelhante, use a sintaxe de TOP. Para saber mais, confira TOP (Transact-SQL).
Para desligar esta opção de forma que todas as linhas sejam retornadas, especifique SET ROWCOUNT 0.
A configuração da opção SET ROWCOUNT faz com que a maioria das instruções Transact-SQL parem de processar quando forem afetadas pelo número de linhas especificado. Isso inclui gatilhos. A opção ROWCOUNT não afeta cursores dinâmicos, mas limita o conjunto de linhas de conjunto de chaves e cursores sem distinção. Essa opção deve ser usada com cuidado.
SET ROWCOUNT substituirá a palavra-chave TOP da instrução SELECT TOP se o número de linhas for o menor valor.
A configuração de SET ROWCOUNT é definida no momento da execução ou em tempo de execução e não no momento da análise.
Permissões
Requer associação à função public.
Exemplos
SET ROWCOUNT para de processar depois do número especificado de linhas. No exemplo a seguir, observe que mais de 500 linhas atendem aos critérios de Quantity menor que 300. Porém, depois de aplicar SET ROWCOUNT, você pode ver que nem todas as linhas foram retornadas.
USE AdventureWorks2022;
GO
SELECT count(*) AS Count
FROM Production.ProductInventory
WHERE Quantity < 300;
GO
Veja a seguir o conjunto de resultados.
Count
-----------
537
(1 row(s) affected)
Agora, defina ROWCOUNT como 4 e retorne todas as linhas para demonstrar que apenas quatro linhas são retornadas.
SET ROWCOUNT 4;
SELECT *
FROM Production.ProductInventory
WHERE Quantity < 300;
GO
-- (4 row(s) affected)
Exemplos: Azure Synapse Analytics e PDW (Analytics Platform System)
SET ROWCOUNT para de processar depois do número especificado de linhas. No exemplo a seguir, observe que mais de 20 linhas atendem aos critérios de AccountType = 'Assets'. Porém, depois de aplicar SET ROWCOUNT, você pode ver que nem todas as linhas foram retornadas.
-- Uses AdventureWorks
SET ROWCOUNT 5;
SELECT * FROM [dbo].[DimAccount]
WHERE AccountType = 'Assets';
Para retornar todas as linhas, defina ROWCOUNT como 0.
-- Uses AdventureWorks
SET ROWCOUNT 0;
SELECT * FROM [dbo].[DimAccount]
WHERE AccountType = 'Assets';