2010-01-05 7 views
1

Lors de l'exécution d'une requête SQL avec sortie vers le texte, nous obtenons généralement une sortie de ce type.Suppression de la sortie SQL

AssetID    Occurs 
-------------------- ----------- 

(0 row(s) affected) 

Depuis que je suis en train de faire des milliers de déclarations à sélectionner des données d'audit dans ma table est-il un moyen de supprimer cette sortie sur le serveur SQL?

+0

Certains développeurs comprennent généralement SET NOCOUNT ON dans toutes les procédures stockées, à moins qu'ils ne veulent vraiment savoir comment de nombreux enregistrements étaient des changements. – DOK

Répondre

3

Si vous voulez supprimer tout le bloc que vous avez montré alors vous devez faire:

SET NOCOUNT ON 

... 

IF EXISTS(SELECT AssetId FROM Table) 
BEGIN 
    SELECT AssetId, Occurs FROM Table 
END 
+0

Merci .. Donc, fondamentalement, supprimez la sortie jusqu'à ce que nous trouvions le nombre sont à la recherche de. Cheers –

+2

«SI EXISTS» serait un meilleur choix ici. Il n'est pas nécessaire d'obtenir le compte entier juste pour vérifier si c'est> 0. – Aaronaught

+0

@Aaronaught - merci, bien sûr que vous avez raison. +1 et je vais modifier. –

2

Prefix la requête avec:

set nocount on 

pour supprimer à RowCount messages. Vous pouvez désactiver les en-têtes de colonne dans SSMS, sous Outils -> Options -> Résultats de la requête -> Résultats sur le texte. Comme pour les lignes elles-mêmes, vous pouvez les supprimer en ajoutant une clause comme where 1=0, mais je me demande ensuite pourquoi vous les sélectionnez en premier lieu.

+0

Cela éteint le compte et donne une sortie comme celle-ci. AssetID Occurs -------------------- ----------- –

Questions connexes