Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Armazém no Microsoft Fabric
Base de dados SQL no Microsoft Fabric
Controla se uma mensagem que mostra o número de linhas afetadas por uma instrução Transact-SQL ou procedimento armazenado é devolvida após o conjunto de resultados. Esta mensagem é um conjunto de resultados extra.
Transact-SQL convenções de sintaxe
Sintaxe
SET NOCOUNT { ON | OFF }
Observações
Quando SET NOCOUNT é ON, a contagem não é devolvida. Quando SET NOCOUNT é OFF, a contagem é devolvida.
A @@ROWCOUNT função é atualizada mesmo quando SET NOCOUNT é ON.
SET NOCOUNT ON impede o envio de DONEINPROC mensagens ao cliente para cada instrução num procedimento armazenado. Para procedimentos armazenados que contêm várias instruções que não retornam muitos dados reais, ou para procedimentos que contêm Transact-SQL loops, definir SET NOCOUNT para ON pode proporcionar um aumento significativo de desempenho, porque o tráfego de rede é muito reduzido.
A definição especificada por SET NOCOUNT está em vigor em tempo de execução ou execução e não em tempo de análise.
Para visualizar a definição atual desta definição, execute a seguinte consulta.
DECLARE @NOCOUNT VARCHAR(3) = 'OFF';
IF ((512 & @@OPTIONS) = 512)
SET @NOCOUNT = 'ON';
SELECT @NOCOUNT AS NOCOUNT;
Permissions
Requer adesão à função pública de .
Examples
O exemplo seguinte impede que a mensagem sobre o número de linhas afetadas seja exibida. No exemplo seguinte, (5 rows affected) só é devolvido aos clientes a partir da primeira SELECT instrução.
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