SET NOCOUNT (Transact-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsWarehouse di Microsoft Fabric

Mengontrol apakah pesan yang memperlihatkan jumlah baris yang terpengaruh oleh pernyataan Transact-SQL atau prosedur tersimpan dikembalikan setelah hasil ditetapkan. Pesan ini adalah kumpulan hasil tambahan.

Konvensi sintaks transact-SQL

Sintaksis

SET NOCOUNT { ON | OFF }

Catatan

Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 (12.x) dan versi yang lebih lama, lihat Dokumentasi versi sebelumnya.

Keterangan

Saat SET NOCOUNT AKTIF, jumlah tidak dikembalikan. Ketika SET NOCOUNT NONAKTIF, jumlah dikembalikan.

Fungsi @@ROWCOUNT diperbarui bahkan ketika SET NOCOUNT AKTIF.

SET NOCOUNT ON mencegah pengiriman pesan DONEINPROC ke klien untuk setiap pernyataan dalam prosedur tersimpan. Untuk prosedur tersimpan yang berisi beberapa pernyataan yang tidak mengembalikan banyak data aktual, atau untuk prosedur yang berisi perulangan Transact-SQL, pengaturan SET NOCOUNT ke AKTIF dapat memberikan peningkatan performa yang signifikan, karena lalu lintas jaringan sangat berkurang.

Pengaturan yang ditentukan oleh SET NOCOUNT berlaku pada eksekusi atau run time dan bukan pada waktu penguraian.

Untuk menampilkan pengaturan saat ini untuk pengaturan ini, jalankan kueri berikut.

DECLARE @NOCOUNT VARCHAR(3) = 'OFF';
IF ( (512 & @@OPTIONS) = 512 ) SET @NOCOUNT = 'ON';
SELECT @NOCOUNT AS NOCOUNT;

Izin

Memerlukan keanggotaan dalam peran publik .

Contoh

Contoh berikut mencegah pesan tentang jumlah baris yang terpengaruh ditampilkan. Dalam contoh berikut, "(5 baris yang terpengaruh)" hanya akan dikembalikan ke klien dari pernyataan SELECT pertama.

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

Baca juga