253 votes

Comment vider le tampon PRINT dans TSQL?

J'ai une procédure stockée très longue dans SQL Server 2005 que j'essaie de déboguer et j'utilise la commande 'print' pour le faire. Le problème est, je reçois seulement les messages de SQL Server à la fin de mon sproc - j'aimerais pouvoir vider le tampon de message et voir ces messages immédiatement pendant l'exécution de sproc, plutôt qu'à la fin.

348voto

Joel Coehoorn Points 190579

Utiliser l' RAISERROR fonction de:

RAISERROR( 'This message will show up right away...',0,1) WITH NOWAIT

Vous ne devriez pas complètement remplacer toutes vos impressions avec raiserror. Si vous avez une boucle ou d'un grand curseur quelque part, juste le faire une fois ou deux fois par itération ou même juste chaque plusieurs itérations.

Aussi: j'ai d'abord appris à propos de l'instruction RAISERROR à ce lien, que je vais maintenant examiner la source définitive sur SQL Server Erreur de manipulation et mérite vraiment d'être lu:
http://www.sommarskog.se/error-handling-I.html

21voto

tcbrazil Points 660

Oui... Le premier paramètre de la fonction RAISERROR a besoin d’une variable NVARCHAR. Alors essayez ce qui suit :

OU

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X