Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL-databas i Microsoft Fabric
Gör att SQL Server slutar bearbeta frågan efter att det angivna antalet rader returnerats.
Transact-SQL syntaxkonventioner
Syntax
SET ROWCOUNT { number | @number_var }
Arguments
Nummer | @number_var
Är antalet, ett heltal, av rader som ska behandlas innan den specifika frågan stoppas.
Anmärkningar
Viktigt!
Att använda SET ROWCOUNT påverkar inte DELETE-, INSERT- och UPDATE-satserna i en framtida version av SQL Server. Undvik att använda SET ROWCOUNT med DELETE-, INSERT- och UPDATE-satser i nytt utvecklingsarbete, och planera att modifiera applikationer som för närvarande använder det. För ett liknande beteende, använd TOP-syntaxen. Mer information finns i TOP (Transact-SQL).
För att aktivera detta alternativ så att alla rader returneras, ange SET ROWCOUNT 0.
Att sätta alternativet SET ROWCOUNT gör att de flesta Transact-SQL-satser slutar bearbetas när de har påverkats av det angivna antalet rader. Detta inkluderar triggers. ROWCOUNT-alternativet påverkar inte dynamiska markörer, men det begränsar raduppsättningen av tangentuppsättningar och okänsliga markörer. Detta alternativ bör användas med försiktighet.
SET ROWCOUNT åsidosätter SELECT-satsen TOP-nyckelordet om radantalet är det lägre värdet.
Inställningen för SET ROWCOUNT är inställd vid exekverings- eller körtid och inte vid parsetid.
Permissions
Kräver medlemskap i den offentliga rollen.
Examples
SET ROWCOUNT slutar bearbeta efter det angivna antalet rader. I följande exempel, notera att över 500 rader uppfyller kriterierna Quantity mindre än 300. Men efter att ha applicerat SET ROWCOUNT kan du se att inte alla rader returnerades.
USE AdventureWorks2022;
GO
SELECT count(*) AS Count
FROM Production.ProductInventory
WHERE Quantity < 300;
GO
Här är resultatet.
Count
-----------
537
(1 row(s) affected)
Sätt ROWCOUNT nu in och 4 returnera alla rader för att visa att endast 4 rader returneras.
SET ROWCOUNT 4;
SELECT *
FROM Production.ProductInventory
WHERE Quantity < 300;
GO
-- (4 row(s) affected)
Exempel: Azure Synapse Analytics and Analytics Platform System (PDW)
SET ROWCOUNT slutar bearbeta efter det angivna antalet rader. I följande exempel, notera att mer än 20 rader uppfyller kriterierna för AccountType = 'Assets'. Men efter att ha applicerat SET ROWCOUNT kan du se att inte alla rader returnerades.
-- Uses AdventureWorks
SET ROWCOUNT 5;
SELECT * FROM [dbo].[DimAccount]
WHERE AccountType = 'Assets';
För att returnera alla rader, sätt RADRÄKNING till 0.
-- Uses AdventureWorks
SET ROWCOUNT 0;
SELECT * FROM [dbo].[DimAccount]
WHERE AccountType = 'Assets';