SET ROWCOUNT (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure 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

KullanmakSETSET ROWCOUNT, gelecekteki SQL Server sürümlerinde , INSERT, ve UPDATE ifadeleri etkilemezDELETE. Yeni geliştirme çalışmalarında , INSERT, ve UPDATE ifadeleri ile kullanmaktan DELETESETSET ROWCOUNT 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).

Bu seçeneği kapatmak için tüm satırlar geri dönecek, 0 belirtin SET ROWCOUNT .

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

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

SET ROWCOUNT ayarı ayrıştırma zamanında değil yürütme veya çalışma zamanında ayarlanır.

Permissions

Genel rolde üyelik gerektirir.

Örnekler

SET ROWCOUNT belirtilen satır sayısından sonra işleme durur. Aşağıdaki örnekte, 500'den fazla satırın kriterlerin Quantity daha az 300olduğunu belirtin. Ancak başvurduktan SET ROWCOUNTsonra, tüm satırların geri dönmediğ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 ROWCOUNT belirtilen satır sayısından sonra işleme durur. Aşağıdaki örnekte, 20'den fazla satırın kriterleri AccountType = 'Assets'karşıladığını not edin. Ancak başvurduktan SET ROWCOUNTsonra, tüm satırların geri dönmediğini görebilirsiniz.

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

Tüm satırları döndürmek için 0'a ayarlayın ROWCOUNT .

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

Ayrıca Bkz.

SET İfadeler (Transact-SQL)