Поделиться через


SET NOCOUNT (Transact-SQL)

Запрещает вывод количества строк, на которые влияет инструкция Transact-SQL или хранимая процедура, в составе результирующего набора.

Значок ссылки на раздел Синтаксические обозначения в Transact-SQL

Синтаксис

SET NOCOUNT { ON | OFF } 

Замечания

Если значение инструкции SET NOCOUNT равно ON, то количество строк не возвращается. Если значение инструкции SET NOCOUNT равно OFF, то количество строк возвращается.

Функция @@ROWCOUNT обновляется, даже если значение SET NOCOUNT равно ON.

Инструкция SET NOCOUNT ON запрещает всем инструкциям хранимой процедуры отправлять клиенту сообщения DONE_IN_PROC. Для хранимых процедур с несколькими инструкциями, не возвращающих большое количество фактических данных, или для процедур, содержащих циклы Transact-SQL, установка в инструкции SET NOCOUNT параметра ON может значительно повысить производительность за счет существенного снижения объема сетевого трафика.

Инструкция SET NOCOUNT устанавливается во время выполнения, а не на этапе синтаксического анализа.

Разрешения

Необходимо членство в роли public.

Примеры

В следующем примере запрещается вывод сообщения о количестве измененных строк.

USE AdventureWorks2012;
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

См. также

Справочник

@@ROWCOUNT (Transact-SQL)

Инструкции SET (Transact-SQL)