(SQL 2005) raiserror是否可能終止存儲過程。使用RAISERROR的SQL語句終止
例如,在一個大型系統中,我們得到的值不是預期輸入到特定列中的值。在更新觸發,如果你寫:
如果存在(SELECT * FROM插入其中testcol = 7) 開始 RAISEERROR( '我的自定義錯誤',16,1) 端
更新信息仍應用。然而 如果運行
如果存在(SELECT * FROM插入其中testcol = 7) 開始 選擇1/0 端
由0錯誤除法拋出實際終止更新。 有沒有什麼辦法可以做到這一點與raiseerror所以我可以得到自定義錯誤信息回來?
也是這個鏈接http://support.microsoft.com/kb/45581 – pjp 2009-08-06 14:57:08
這是唯一有效的交易?或者是觸發器交易? – Bob 2009-08-06 14:58:36
從我發佈的鏈接'在觸發器內時,不需要具有匹配的BEGIN TRANSACTION語句,因爲不在顯式事務中的每個SQL語句實際上都是單語句事務。' – pjp 2009-08-06 15:00:06