Aracılığıyla paylaş


SIRA SAYISI (Transact-SQL) AYARLAN

Şunlar için geçerlidir:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalitik Platform Sistemi (PDW)Microsoft Fabric'te SQL veritabanı

Belirtilen satır sayısı geri döndükten sonra SQL Server'ın sorguyu işlemeyi durdurmasına neden olur.

Transact-SQL söz dizimi kuralları

Sözdizimi

SET ROWCOUNT { number | @number_var }   

Arguments

sayı | @number_var
Belirli sorgu durdurulmadan önce işlenecek satırların sayısı, bir tam sayıdır.

Açıklamalar

Önemli

SET ROWCOUNT kullanmak, SQL Server'ın gelecekteki bir sürümünde DELETE, INSERT ve UPDATE ifadelerini etkilemeyecektir. Yeni geliştirme çalışmalarında DELETE, INSERT ve UPDATE ifadeleriyle SET ROWCOUNT kullanmaktan kaçının ve şu anda kullanan uygulamaları değiştirmeyi planlayın. Benzer bir davranış için TOP sözdizimini kullanın. Daha fazla bilgi için bkz. TOP (Transact-SQL).

Tüm satırlar geri dönecek şekilde bu seçeneği ayarlamak için SET SIRA SAYI 0 olarak belirtin.

SET SIRA SAYISI seçeneğini ayarlamak, çoğu Transact-SQL ifadesinin belirli satır sayısından etkilendiklerinde işleme durmasına neden olur. Buna tetikleyiciler de dahil. ROWCOUNT seçeneği dinamik imleçleri etkilemez, ancak anahtar seti ve duyarsız imleçlerin satır setini sınırlar. Bu seçenek dikkatli kullanılmalıdır.

SET ROWCOUNT, sıralı sayı daha küçük değerse, SELECT i'lemesi TOP anahtar kelimesini geçersiz kılar.

SET SIRA SAYISI ayarı, ayrıştırma zamanında değil, çalıştırma veya çalıştırma zamanında ayarlanır.

Permissions

Genel rolde üyelik gerektirir.

Örnekler

SET SIRA SAYISI, belirlenen satır sayısından sonra işlemeyi durdurur. Aşağıdaki örnekte, 500'den fazla satırın kriterlerin Quantity daha az 300olduğunu belirtin. Ancak, SET SIRA sayını uyguladıktan sonra, tüm satırların iade edilmediğini görebilirsiniz.

USE AdventureWorks2022;  
GO  
SELECT count(*) AS Count  
FROM Production.ProductInventory  
WHERE Quantity < 300;  
GO  

Sonuç kümesi aşağıdadır.

Count 
----------- 
537 

(1 row(s) affected)

Şimdi, ROWCOUNT tüm satırları ayarla 4 ve geri getirerek sadece 4 satırın geri döndüğünü gösterin.

SET ROWCOUNT 4;  
SELECT *  
FROM Production.ProductInventory  
WHERE Quantity < 300;  
GO  
  
-- (4 row(s) affected)

Örnekler: Azure Synapse Analytics ve Analytics Platform Sistemi (PDW)

SET SIRA SAYISI, belirlenen satır sayısından sonra işlemeyi durdurur. Aşağıdaki örnekte, 20'den fazla satırın kriterleri AccountType = 'Assets'karşıladığını not edin. Ancak, SET SIRA sayını uyguladıktan sonra, tüm satırların iade edilmediğini görebilirsiniz.

-- Uses AdventureWorks  
  
SET ROWCOUNT 5;  
SELECT * FROM [dbo].[DimAccount]  
WHERE AccountType = 'Assets';  

Tüm satırları geri vermek için ROWCOUNT'u 0 olarak ayarlayın.

-- Uses AdventureWorks  
  
SET ROWCOUNT 0;  
SELECT * FROM [dbo].[DimAccount]  
WHERE AccountType = 'Assets';  

Ayrıca Bkz.

SET Deyimleri (Transact-SQL)