Kommentar
Å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 SETSET ROWCOUNT kommer inte att påverka DELETE, INSERT, och UPDATE satser i en framtida version av SQL Server. Undvik att använda SETSET 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 SET ROWCOUNT alternativet gör att de flesta Transact-SQL-satser slutar bearbetas när de har påverkats av det angivna antalet rader. Detta inkluderar triggers. Alternativet ROWCOUNT påverkar inte dynamiska markörer, men det begränsar raduppsättningen av tangent- och okänsliga markörer. Detta alternativ bör användas med försiktighet.
SET ROWCOUNT åsidosätter nyckelordet SELECT-satsen TOP om radantalet är det lägre värdet.
Inställningen av SET ROWCOUNT är satt vid exekverings- eller körtid och inte vid parsetid.
Permissions
Kräver medlemskap i den offentliga rollen.
Examples
SET ROWCOUNT slutar bearbetningen efter det angivna antalet rader. I följande exempel, notera att över 500 rader uppfyller kriterierna Quantity mindre än 300. Men efter att ha ansökt SET ROWCOUNTkan 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 bearbetningen 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 ansökt SET ROWCOUNTkan 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, ställ ROWCOUNT in på 0.
-- Uses AdventureWorks
SET ROWCOUNT 0;
SELECT * FROM [dbo].[DimAccount]
WHERE AccountType = 'Assets';