set rowcount (Transact-sql)

Neden SQL Serverbelirtilen satır sayısını sonra sorguyu işlemeyi durdurmak için.

Konu bağlantısı simgesi Transact-SQL Sözdizim Kuralları

Sözdizimi

SET ROWCOUNT { number | @number_var } 

Bağımsız değişkenler

  • number | @number\_var
    Sayı, belirli sorgu durdurmadan önce işlenecek satır bir tamsayı.

Açıklamalar

Önemli notÖnemli

set rowcount kullanarak sonraki sürümde delete, INSERT ve update deyimleri SQL Server etkilemez. Yeni geliştirme çalışmaları delete, INSERT ve update deyimleri ile set rowcount kullanmaktan kaçının ve şu anda onu kullanan uygulamaları değiştirmek planlıyoruz. Benzer bir davranış için üst sözdizimini kullanın. Daha fazla bilgi için, bkz. TOP (Transact-sql).

Tüm satır döndürülür böylece bu seçeneği kapatmak için set rowcount 0 belirtin.

set rowcount seçeneği ayar neden en Transact-SQLtarafından belirtilen satır sayısını etkilendiğini işlemeyi durdurmak için deyimleri. Bu Tetikleyiciler içerir. rowcount seçenek dinamik imleçler etkilemez, ancak anahtar kümesi ve duyarsız Imleçler satırkümesi sınırı yok. Bu seçeneği dikkatli kullanılmalıdır.

Rowcount küçük değeri ise set rowcount select deyimi top anahtar sözcük geçersiz kılar.

set ROWCOUNT ayarı ayarlanır yürütme veya zaman değil ayrıştırma saati ve çalıştırın.

İzinler

Üyelik publicrolü.

Örnekler

set rowcount işlendikten sonra belirtilen satır sayısını durur. Aşağıdaki örnek, 500'den fazla satır ölçütlerine uyan Not Quantityaz 300. Ancak set rowcount uygulandıktan sonra tüm satır döndürülmedi görebilirsiniz.

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

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

Sonuç kümesi buradadır.

Count

-----------

537

(1 row(s) affected)

Şimdi, ROWCOUNTiçin 4ve sadece 4 satır döndürülür göstermek için tüm satırları iade.

SET ROWCOUNT 4;
SELECT *
FROM Production.ProductInventory
WHERE Quantity < 300;
GO

SET ROWCOUNT 4;
SELECT *
FROM Production.ProductInventory
WHERE Quantity < 300;
GO

(4 row(s) affected)

Ayrıca bkz.

Başvuru

Deyimiyle (Transact-sql) bırak