SET NOCOUNT (Transact-SQL)

Empêche le message indiquant le nombre de lignes concernées par une instruction ou une procédure stockée Transact-SQL d'être renvoyé avec l'ensemble de résultats.

Icône Lien de rubriqueConventions de la syntaxe de Transact-SQL

Syntaxe

SET NOCOUNT { ON | OFF } 

Notes

Si la valeur de SET NOCOUNT est définie à ON, ce comptage n'est pas renvoyé. Si la valeur de SET NOCOUNT est définie à OFF, ce comptage est renvoyé.

La fonction @@ROWCOUNT est mise à jour, même lorsque SET NOCOUNT est défini à ON.

SET NOCOUNT ON empêche l'envoi de messages DONE_IN_PROC au client pour chaque instruction d'une procédure stockée. Dans le cas de procédures stockées contenant plusieurs instructions qui ne retournent que peu de données, ou pour els procédures qui contiennent des boucles Transact-SQL, la définition de SET NOCOUNT à ON peut améliorer considérablement les performances car le trafic réseau est sensiblement réduit.

Le paramètre spécifié par SET NOCOUNT est appliqué lors de l'exécution, et non pas lors de l'analyse.

Autorisations

Nécessite l'appartenance au rôle public.

Exemple

L'exemple suivant empêche l'affichage du message indiquant le nombre de lignes concernées.

USE AdventureWorks;
GO
SET NOCOUNT OFF;
GO
-- Display the count message.
SELECT TOP(5)LastName
FROM Person.Contact
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.Contact
WHERE LastName LIKE 'A%';
GO
-- Reset SET NOCOUNT to OFF
SET NOCOUNT OFF;
GO