Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Vonatkozik a következőkre:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analitikai Platform System (PDW)
SQL adatbázis a Microsoft Fabric-ben
Az SQL Server leállítja a lekérdezés feldolgozását a megadott sor visszaküldése után.
Transact-SQL szintaxis konvenciók
Szemantika
SET ROWCOUNT { number | @number_var }
Arguments
szám | @number_var
Ez a sorok száma, egy egész szám, amelyeket fel kell dolgozni a konkrét lekérdezés megállítása előtt.
Megjegyzések
Fontos
A SET ROWCOUNT használata nem befolyásolja a DELETE, INSERT és UPDATE utasításokat a jövőbeli SQL Server kiadásban. Kerüld az új fejlesztési munkákban a SET ROWCOUNT használatát DELETE, INSERT és UPDATE utasításokkal, és tervezd az éppen használó alkalmazások módosítását. Hasonló viselkedéshez használd a TOP szintaxist. További információ: TOP (Transact-SQL).
Ahhoz, hogy ezt az opciót úgy állítsuk be, hogy minden sor visszakerüljön, megadjuk a SET SORSZÁM 0-t.
A SET ROWCOUNT opció beállítása miatt a legtöbb Transact-SQL utasítás megáll a feldolgozás, amikor a megadott sorszám érintette őket. Ez magában foglalja a kiváltó okokat is. A SORSZÁM opció nem befolyásolja a dinamikus kurzorokat, de korlátozza a kulcskészlet és érzéketlen kurzorok sorkészletét. Ezt az opciót óvatosan kell használni.
A SET ROWCOUNT FELÜLÍRJA A SELECT UTASÍTÁST, A TOP KULCSSZÓT, HA A SORSZÁM A KISEBB ÉRTÉK.
A SET ROWCOUNT beállítása végrehajtási vagy futási időben van beállítva, nem parse időben.
Permissions
A nyilvános szerepkörhöz tagságra van szükség.
Példák
A SET ROWCOUNT megállítja a feldolgozást a megadott sorszám után. A következő példában vegyük figyelembe, hogy több mint 500 sor megfelel a Quantity kevesebb mint 300. Azonban a SET ROWCOUNT alkalmazás után látható, hogy nem minden sor került vissza.
USE AdventureWorks2022;
GO
SELECT count(*) AS Count
FROM Production.ProductInventory
WHERE Quantity < 300;
GO
Itt van az eredmények összessége.
Count
-----------
537
(1 row(s) affected)
Most állítsd ROWCOUNT be és 4 vissza az összes sort, hogy mutassd meg, csak 4 sor van vissza.
SET ROWCOUNT 4;
SELECT *
FROM Production.ProductInventory
WHERE Quantity < 300;
GO
-- (4 row(s) affected)
Példák: Azure Synapse Analytics and Analytics Platform System (PDW)
A SET ROWCOUNT megállítja a feldolgozást a megadott sorszám után. A következő példában jegyezzük meg, hogy több mint 20 sor megfelel a .AccountType = 'Assets' Azonban a SET ROWCOUNT alkalmazás után látható, hogy nem minden sor került vissza.
-- Uses AdventureWorks
SET ROWCOUNT 5;
SELECT * FROM [dbo].[DimAccount]
WHERE AccountType = 'Assets';
Az összes sor visszaküldéséhez állítsuk be a SORSZÁMOT 0-ra.
-- Uses AdventureWorks
SET ROWCOUNT 0;
SELECT * FROM [dbo].[DimAccount]
WHERE AccountType = 'Assets';