use Print
PRINT 'testing----' WAITFOR DELAY '00:00:05';
程序中調(diào)用這個(gè)procedure或者觸發(fā)這個(gè)trigger,java控制臺(tái)根本沒(méi)有這個(gè)輸出;
很生氣,后果很嚴(yán)重的讓時(shí)間飛逝。
網(wǎng)上眾多大拿推薦使用Raiserror,于是
raiserror ('test raiserror 1---', 10, -1) with log
raiserror ('test raiserror 2---', 10, 1) with nowait
程序中調(diào)用這個(gè)procedure或者觸發(fā)這個(gè)trigger,java控制臺(tái)根本沒(méi)有這個(gè)輸出;
很生氣,后果很嚴(yán)重的讓時(shí)間飛逝。
于是,很無(wú)語(yǔ)胡亂的測(cè)試:
raiserror ('test raiserror 3---', 16,-1) with log;
raiserror ('test raiserror 4---', 16,-1) with nowait;
任何一條都輸出并且讓程序回滾,很好很好
我得找到這個(gè)原因:
翻翻
MSDN吧:
A RAISERROR severity of 11 to 19 executed in the TRY block of a TRY…CATCH construct causes control to transfer to the associated CATCH block. Specify a severity of 10 or lower to return messages using RAISERROR without invoking a CATCH block. PRINT does not transfer control to a CATCH block.
好吧,10以上的數(shù)字才會(huì)強(qiáng)迫它工作。
但是呢,為了不拋錯(cuò)誤,我們可以做以下2種方案:
方案一:
建立tmp表,利用insert保存你要的結(jié)果
方案二:
不知道try catch是不是能幫上忙,就留在下回測(cè)試吧。
f