国产日产欧产综合,精精国产xxxx视频在线播放,国产精品女a片爽视频爽,亚洲av中文乱码一区二

怎樣利用DB2條件處理器來解決SQL數(shù)據(jù)庫的錯(cuò)誤?

發(fā)布時(shí)間:2011/1/12 11:47:00

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

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

  在SQL存儲(chǔ)過程處理錯(cuò)誤,您需要做如下兩步:聲明SQLCODE和SQLSTATE變量、定義條件處理器。在SQL存儲(chǔ)過程中,您通過下列語句聲明SQLCODE和SQLSTATE變量:

  DECLARE SQLCODE INTEGER DEFAULT 0;

  DECLARE SQLSTATE CHAR(5) DEFAULT ‘00000’;

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

可以通過下列語句定義DB2條件處理器:

  DECLARE handler-type HANDLER FOR condition

  SQL-procedure-statement

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

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

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

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

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

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

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

  NOT FOUND:SQL返回值為+100或者SQLSTATE以‘02’開始。



Copyright© 2004-2020 河南海騰電子技術(shù)有限公司 版權(quán)所有   經(jīng)營性ICP/ISP證 備案號:B1-20180452   豫公網(wǎng)安備 41019702002018號    電子營業(yè)執(zhí)照

池州市| 兴仁县| 淳安县| 大厂| 宾川县| 蒲城县| 兴仁县| 驻马店市| 德庆县| 龙游县| 保山市| 井冈山市| 寿阳县| 阳江市| 宜君县| 铁力市| 新津县| 防城港市| 遵义市| 仲巴县| 隆尧县| 南涧| 宝坻区| 垣曲县| 彰武县| 潢川县| 拜泉县| 襄垣县| 剑川县| 名山县| 渑池县| 长丰县| 台北市| 利津县| 普定县| 无极县| 丽水市| 佛冈县| 仪陇县| 汉中市| 丰原市|