Печать отладки SQL - PullRequest
       8

Печать отладки SQL

0 голосов
/ 25 февраля 2011

Если у вас есть 100 экземпляров «PRINT» в вашей хранимой процедуре, есть ли хороший способ включить / отключить их все при отладке без отладки?

Я мог бы добавить переменную @isdebug = 1

и позже, сделайте что-то вроде IF @isdebug = 1 PRINT @yourvar

, а затем просто установите @isdebug на 0 или 1 в зависимости от того, что вам нужно. Есть ли лучший способ сделать это?

Ответы [ 2 ]

3 голосов
/ 25 февраля 2011

Нет, это также то, что я имею в 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 голос
/ 13 декабря 2011

Расширение этой идеи заключается в настройке управляющей строки.Это дает нам больше возможностей, чем включение или выключение.

Например: Объявление параметров хранимой процедуры

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

Простая подстрока для управления блоком тестирования / отладки.

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

Для тестового прогона вы могли бы ввести «10001» для @Debug, чтобы отладки «уровня» 1 показывали (т.е. инициализировать), и только отладки «уровня» 5 показывали для подраздела кода, который вы тестируете / отлаживаете.1009 *

Вы могли бы расширить эту идею, используя числовые значения (т.е. 2-9) тоже.Но это может быть слишком.

...