這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)SqlServer中存儲過程如何捕獲異常,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
SqlServer中的存儲過程怎么捕獲異常
1、環(huán)境
數(shù)據(jù)庫為SqlServer2008。表(Course)結(jié)構(gòu)為:Nochar(10)primarykeyNamevarchar(20)Commentvarchar(50)
2、存儲過程
就以插入數(shù)據(jù)為例,其他的可以照著寫就行了。
編程語言都有異常的捕獲與處理,在SqlServer2008中也是這樣子的。
對會出現(xiàn)異常的語句加上begintry……endtry,然后進(jìn)行異常捕捉:begincatch……endcatch即可。
錯誤代碼詳解很容易就能找到。
代碼如下:
Createprocsp_Insert_Course@Nochar(10),@Namevarchar(20),@Commentvarchar(50),@rtnintoutputasbegintryinsertintoCoursevalues(@No,@Name,@Comment)set@rtn=1endtrybegincatchset@rtn=@@ERROR--輔助信息--selectERROR_LINE()asLine,--ERROR_MESSAGE()asmessage1,--ERROR_NUMBER()asnumber,--ERROR_PROCEDURE()asproc1,--ERROR_SEVERITY()asseverity,--ERROR_STATE()asstate1endcatch
SqlServer中的存儲過程怎么捕獲異常
3、存儲過程執(zhí)行
相關(guān)代碼如下:
declare@rtnintexecsp_Insert_Course'114','語文','',@rtnoutputprint@rtn
執(zhí)行結(jié)果:
正常的情況下,返回值為1,
假如已經(jīng)存在編號為“114”的數(shù)據(jù),就會返回ERROR_CODE:2627,
其他的異常情況會返回相應(yīng)的代碼
4、說明
假如程序有異常,把異常代碼返回,然后再進(jìn)行相關(guān)的處理即可。
SQLServer中的異常處理和別的數(shù)據(jù)庫(如Oracle)的有點(diǎn)差異,但是基本思想差不多,在最后捕獲都可以得到異常。
上述就是小編為大家分享的SqlServer中存儲過程如何捕獲異常了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)站標(biāo)題:SqlServer中存儲過程如何捕獲異常-創(chuàng)新互聯(lián)
分享地址:http://m.newbst.com/article24/dceije.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、虛擬主機(jī)、建站公司、網(wǎng)站維護(hù)、關(guān)鍵詞優(yōu)化、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)