2011-02-25 1 views
0

Si vous avez enregistré 100 occurrences de "PRINT" dans votre procédure stockée, y a-t-il un bon moyen de les activer/désactiver lors du débogage d'un non-débogage?Impression de débogage SQL

Je pourrais ajouter une variable @isdebug = 1

et plus tard, faire quelque chose comme IF @isdebug = 1 PRINT @yourvar

puis vient de mettre la @isdebug-0 ou 1 en fonction de ce dont vous avez besoin. Existe-t-il une meilleure façon de faire cela?

+0

Voir http://stackoverflow.com/questions/3212658/disable-print-in-sql-server –

Répondre

3

Nope, qui est aussi ce que j'ai dans procs

IF @debug = 1 
BEGIN 
print 'Something' 
--or insert into a log table if you need the rows of a temp table 
--or the results of a calculation 
END 
1

Une expansion de cette idée est d'installer une chaîne de contrôle. Cela nous donne plus d'options plutôt que d'activer ou de désactiver.

Par exemple: stockée déclaration de paramètre de procédure

(@Debug  varchar(5), -- use bit wise control for debugging, currently 5 levels. 

substring simple à conduire un bloc test/debug.

if substring(@Debug, 1, 1) = '1' 

Pour un essai, vous pouvez entrer « 10001 » pour @Debug de sorte que « niveau » 1 débogue show (c.-à-initialisations) et seulement « niveau » 5 debugs montrent pour la sous-section de code que vous testez/débogage.

Vous pouvez étendre cette idée en utilisant des valeurs numériques (par exemple 2-9). Mais cela pourrait être trop exagéré.

Questions connexes