Aracılığıyla paylaş


NOCOUNT (Transact-SQL) AYARLANIR

Şunlar için geçerlidir:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsMicrosoft Fabric'te DepoMicrosoft Fabric'te SQL veritabanı

Bir Transact-SQL ifadesi veya saklanan prosedürün etkilenen satır sayısını gösteren bir mesajın sonuç kümesinden sonra geri dönüp dönmediğini kontrol eder. Bu mesaj ekstra bir sonuç kümesidir.

Transact-SQL söz dizimi kuralları

Sözdizimi

SET NOCOUNT { ON | OFF }

Açıklamalar

Ne SET NOCOUNT zaman ON, sayı geri dönmez. Ne olduğunda SET NOCOUNTOFF, sayı döner.

Fonksiyon, @@ROWCOUNT ise SET NOCOUNTONbile güncelleniyor.

SET NOCOUNT ON Saklanan bir prosedürdeki her ifade için istemciye mesaj gönderilmesini DONEINPROC engeller. Birçok gerçek veri geri getirmeyen birkaç ifade içeren veya Transact-SQL döngü içeren işlemler için ayar SET NOCOUNTON , ağ trafiği büyük ölçüde azaldığı için önemli bir performans artışı sağlayabilir.

Belirtilen ayar SET NOCOUNT , işleme veya çalışma zamanında geçerlidir, ayrıştırma zamanında değil.

Bu ayarın mevcut ayarını görmek için aşağıdaki sorguyu çalıştırın.

DECLARE @NOCOUNT VARCHAR(3) = 'OFF';

IF ((512 & @@OPTIONS) = 512)
    SET @NOCOUNT = 'ON';

SELECT @NOCOUNT AS NOCOUNT;

Permissions

"" genel "" rolüne üyelik gerektirir.

Örnekler

Aşağıdaki örnek, etkilenen satır sayısı mesajının görüntülenmesini engeller. Aşağıdaki örnekte, (5 rows affected) yalnızca ilk SELECT ifadeden müşterilere geri döner.

USE AdventureWorks2022;
GO

SET NOCOUNT OFF;
GO

-- Display the count message.
SELECT TOP (5) LastName
FROM Person.Person
WHERE LastName LIKE 'A%';
GO

-- SET NOCOUNT to ON to no longer display the count message.
SET NOCOUNT ON;
GO

SELECT TOP (5) LastName
FROM Person.Person
WHERE LastName LIKE 'A%';
GO

-- Reset SET NOCOUNT to OFF
SET NOCOUNT OFF;
GO