SET NOCOUNT (Transact-SQL)
Berlaku untuk: SQL ServerAzure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Warehouse 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.
Sintaks
SET NOCOUNT { ON | OFF }
Keterangan
Ketika SET NOCOUNT
adalah ON
, jumlah tidak dikembalikan. Ketika SET NOCOUNT
adalah OFF
, jumlah dikembalikan.
Fungsi ini @@ROWCOUNT
diperbarui bahkan ketika SET NOCOUNT
adalah ON
.
SET NOCOUNT ON
mencegah pengiriman DONEINPROC
pesan 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
untuk ON
dapat memberikan peningkatan performa yang signifikan, karena lalu lintas jaringan sangat berkurang.
Pengaturan yang ditentukan oleh SET NOCOUNT
berlaku pada waktu eksekusi atau eksekusi 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 rows affected)
hanya dikembalikan ke klien dari pernyataan pertama SELECT
.
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