如果在存儲過程中有100次出現「PRINT」,是否有一種很好的方法在調試非調試時將它們全部打開/關閉?SQL調試打印
我可以添加一個變量@isdebug = 1
,後來,做這樣的事情 IF @isdebug = 1 PRINT @yourvar
,然後只需設置@isdebug
爲0或1,具體取決於你需要什麼。 有沒有更好的方法來做到這一點?
如果在存儲過程中有100次出現「PRINT」,是否有一種很好的方法在調試非調試時將它們全部打開/關閉?SQL調試打印
我可以添加一個變量@isdebug = 1
,後來,做這樣的事情 IF @isdebug = 1 PRINT @yourvar
,然後只需設置@isdebug
爲0或1,具體取決於你需要什麼。 有沒有更好的方法來做到這一點?
不,那也是我有特效
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
這種想法的擴張設置了控制線。這給了我們更多的選擇,而不是打開或關閉。
例如: 存儲過程參數聲明
(@Debug varchar(5), -- use bit wise control for debugging, currently 5 levels.
簡單子來驅動測試/調試塊。
if substring(@Debug, 1, 1) = '1'
測試運行,你可以爲@Debug輸入「10001」,讓「平」 1調試節目(即initialisations),只有「級別」 5(1)調試顯示的代碼分節你是測試/調試。
您也可以通過使用數字值(即2-9)來擴展此想法。但是,這可能太過頂層。
請參閱http://stackoverflow.com/questions/3212658/disable-print-in-sql-server – 2011-02-25 15:43:02