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
Azure Synapse Analytics
Sistema de Plataforma de Análise (PDW)
Base de dados SQL 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
Usar SET ROWCOUNT não afetará as instruções DELETE, INSERT e UPDATE numa futura versão do SQL Server. Evite usar SET ROWCOUNT com instruções DELETE, INSERT e UPDATE em novos trabalhos de desenvolvimento, e planeie modificar aplicações que já o 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 opção SET ROWCOUNT faz com que a maioria das instruções Transact-SQL pare de processar quando são afetadas pelo número especificado de linhas. Isto inclui os gatilhos. A opção ROWCOUNT 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-se à palavra-chave da instrução SELECT TOP se o número de linhas for o valor mais pequeno.
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 aplicar o 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 and Analytics Platform System (PDW)
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 aplicar o 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 a 0.
-- Uses AdventureWorks
SET ROWCOUNT 0;
SELECT * FROM [dbo].[DimAccount]
WHERE AccountType = 'Assets';