use Print
PRINT 'testing----' WAITFOR DELAY '00:00:05';
程序中调用这个procedure或者触发这个trigger,java控制台根本没有这个输出;
很生气,后果很严重的让时间飞逝。
网上众多大拿推荐使用Raiserror,于是
raiserror ('test raiserror 1---', 10, -1) with log
raiserror ('test raiserror 2---', 10, 1) with nowait
程序中调用这个procedure或者触发这个trigger,java控制台根本没有这个输出;
很生气,后果很严重的让时间飞逝。
于是,很无语胡乱的测试:
raiserror ('test raiserror 3---', 16,-1) with log;
raiserror ('test raiserror 4---', 16,-1) with nowait;
任何一条都输出并且让程序回滚,很好很好
我得找到这个原因:
翻翻
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以上的数字才会强迫它工作。
但是呢,为了不抛错误,我们可以做以下2种方案:
方案一:
建立tmp表,利用insert保存你要的结果
方案二:
不知道try catch是不是能帮上忙,就留在下回测试吧。
f