日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
教您如何使用DB2條件處理器處理存儲過程運行中的SQL錯誤

DB2條件處理器對于存儲過程來說,有著不可替代的作用。在DB2中,SQL存儲過程可以利用DB2條件處理器(Condition Handler)來處理存儲過程運行過程中的SQL錯誤(SQLERROR)、SQL警告(SQLWARNING)和沒有數(shù)據(jù)(NOT FOUND)三種常見情況以及你自己定義的觸發(fā)條件,你可以使用包括退出(EXIT)、繼續(xù)(CONTINUE)和撤銷(UNDO)在內(nèi)的三種條件處理器。

創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供嶧城網(wǎng)站建設、嶧城做網(wǎng)站、嶧城網(wǎng)站設計、嶧城網(wǎng)站制作等企業(yè)網(wǎng)站建設、網(wǎng)頁設計與制作、嶧城企業(yè)網(wǎng)站模板建站服務,十年嶧城做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡服務。

在SQL存儲過程運行過程中,如果出現(xiàn)了SQLERROR、SQLWARNING和NOT FOUND三種情況,SQL存儲過程將會自動將執(zhí)行SQL語句后的SQLCODE和SQLSTATE存儲在你事先定義好的變量SQLCODE和SQLSTATE中,并觸發(fā)你在存儲過程中定義的條件處理器。

在SQL存儲過程處理錯誤,您需要做如下兩步:聲明SQLCODE和SQLSTATE變量、定義條件處理器。在SQL存儲過程中,您通過下列語句聲明SQLCODE和SQLSTATE變量:
DECLARE SQLCODE INTEGER DEFAULT 0;
DECLARE SQLSTATE CHAR(5) DEFAULT '00000';

當存儲過程執(zhí)行時,DB2會自動將該SQL語句的返回碼付給這兩個變量,你可以在調(diào)試程序的時候,將這兩個值插入到調(diào)試表中,或者利用條件處理器將這兩個值返回給調(diào)用者。這樣可以方便SQL存儲過程的調(diào)試。注意:當你在SQL存儲過程中存取SQLCODE和SQLSTATE時,DB2會自動將SQLCODE和SQLSTATE置為零。

可以通過下列語句定義DB2條件處理器:
DECLARE handler-type HANDLER FOR condition
SQL-procedure-statement

其中handler-type可以是如下幾種:

CONTINUE:SQL存儲過程在執(zhí)行完條件處理器中的SQL語句后,繼續(xù)執(zhí)行出錯SQL語句后邊的SQL語句。

EXIT: SQL存儲過程在執(zhí)行完條件處理器中的SQL語句后,退出存儲過程的執(zhí)行。

UNDO:這種條件處理器僅限于原子動作(ATOMIC)復合SQL語句,SQL存儲過程將會回滾包含該條件處理器的復合SQL語句,并在執(zhí)行完該條件處理器中的SQL語句后,繼續(xù)執(zhí)行原子動作(ATOMIC)復合SQL語句后面的SQL語句。

條件包括如下三種常見情況:

SQLEXCEPTION:在SQL執(zhí)行過程中返回任何負值。

SQLWARNING:在SQL執(zhí)行過程中出現(xiàn)警告(SQLWARN0為'W'),或者是任何不是+100的正的SQL返回值,相應的SQLSTATE以'01'開始。

NOT FOUND:SQL返回值為+100或者SQLSTATE以'02'開始。
當然你也可以使用DECLARE語句為特定的SQLSATE定義你自己的條件。

【編輯推薦】

DB2日期格式更改的實現(xiàn)

DB2日期時間的基礎知識

DB2刪除數(shù)據(jù)時的小技巧

DB2事件監(jiān)控的命令

教您如何實現(xiàn)DB2在線導入


標題名稱:教您如何使用DB2條件處理器處理存儲過程運行中的SQL錯誤
分享鏈接:http://www.dlmjj.cn/article/dpcjcdj.html