- 相關(guān)推薦
DB2條件處理器處理SQL錯(cuò)誤的方法
在DB2中,SQL存儲(chǔ)過(guò)程可以利用DB2條件處理器(Condition Handler)來(lái)處理存儲(chǔ)過(guò)程運(yùn)行過(guò)程中的SQL錯(cuò)誤(SQLERROR)、SQL警告(SQLWARNING)和沒(méi)有數(shù)據(jù)(NOT FOUND)三種常見(jiàn)情況以及你自己定義的觸發(fā)條件,你可以使用包括退出(EXIT)、繼續(xù)(CONTINUE)和撤銷(UNDO)在內(nèi)的三種條件處理器。
在SQL存儲(chǔ)過(guò)程運(yùn)行過(guò)程中,如果出現(xiàn)了SQLERROR、SQLWARNING和NOT FOUND三種情況,SQL存儲(chǔ)過(guò)程將會(huì)自動(dòng)將執(zhí)行SQL語(yǔ)句后的SQLCODE和SQLSTATE存儲(chǔ)在你事先定義好的變量SQLCODE和SQLSTATE中,并觸發(fā)你在存儲(chǔ)過(guò)程中定義的條件處理器。
在SQL存儲(chǔ)過(guò)程處理錯(cuò)誤,您需要做如下兩步:聲明SQLCODE和SQLSTATE變量、定義條件處理器。在SQL存儲(chǔ)過(guò)程中,您通過(guò)下列語(yǔ)句聲明SQLCODE和SQLSTATE變量:
DECLARE SQLCODE INTEGER DEFAULT 0;
DECLARE SQLSTATE CHAR(5) DEFAULT ‘00000’;
當(dāng)存儲(chǔ)過(guò)程執(zhí)行時(shí),DB2會(huì)自動(dòng)將該SQL語(yǔ)句的返回碼付給這兩個(gè)變量,你可以在調(diào)試程序的時(shí)候,將這兩個(gè)值插入到調(diào)試表中,或者利用條件處理器將這兩個(gè)值返回給調(diào)用者。這樣可以方便SQL存儲(chǔ)過(guò)程的調(diào)試。注意:當(dāng)你在SQL存儲(chǔ)過(guò)程中存取SQLCODE和SQLSTATE時(shí),DB2會(huì)自動(dòng)將SQLCODE和SQLSTATE置為零。
可以通過(guò)下列語(yǔ)句定義DB2條件處理器:
DECLARE handler-type HANDLER FOR condition
SQL-procedure-statement
其中handler-type可以是如下幾種:
CONTINUE:SQL存儲(chǔ)過(guò)程在執(zhí)行完條件處理器中的SQL語(yǔ)句后,繼續(xù)執(zhí)行出錯(cuò)SQL語(yǔ)句后邊的SQL語(yǔ)句。
EXIT: SQL存儲(chǔ)過(guò)程在執(zhí)行完條件處理器中的SQL語(yǔ)句后,退出存儲(chǔ)過(guò)程的執(zhí)行。
UNDO:這種條件處理器僅限于原子動(dòng)作(ATOMIC)復(fù)合SQL語(yǔ)句,SQL存儲(chǔ)過(guò)程將會(huì)回滾包含該條件處理器的復(fù)合SQL語(yǔ)句,并在執(zhí)行完該條件處理器中的SQL語(yǔ)句后,繼續(xù)執(zhí)行原子動(dòng)作(ATOMIC)復(fù)合SQL語(yǔ)句后面的SQL語(yǔ)句。
條件包括如下三種常見(jiàn)情況:
SQLEXCEPTION:在SQL執(zhí)行過(guò)程中返回任何負(fù)值。
SQLWARNING:在SQL執(zhí)行過(guò)程中出現(xiàn)警告(SQLWARN0為‘W’),或者是任何不是+100的正的SQL返回值,相應(yīng)的SQLSTATE以‘01’開(kāi)始。
NOT FOUND:SQL返回值為+100或者SQLSTATE以‘02’開(kāi)始。
當(dāng)然你也可以使用DECLARE語(yǔ)句為特定的SQLSATE定義你自己的條件。
如何查找我的機(jī)器型號(hào)和序列號(hào)
適用機(jī)型:
所有臺(tái)式機(jī); 所有筆記本電腦; 所有服務(wù)器
文檔內(nèi)容:
注:下面的信息只適用于中國(guó)大陸的PC產(chǎn)品,比如ThinkPad筆記本電腦,Aptiva和NetVista臺(tái)式機(jī)以及Netfinity和x系列服務(wù)器
Service hints & tips
自動(dòng)檢測(cè)機(jī)器的型號(hào)和序列號(hào)
收集您的系統(tǒng)信息需要花一些時(shí)間。IBM不收集任何信息。這個(gè)功能只能在 Microsoft Windows 98SE, Me, 2000 和Windows XP 上運(yùn)行。
什么是我的機(jī)器的型號(hào)和序列號(hào)?
每臺(tái) IBM 個(gè)人電腦都有一個(gè)作為鑒定的標(biāo)志,包含:
機(jī)型 (4字符)
型號(hào) (3字符)
序列號(hào) (7字符)
這個(gè) ID 可以被用作建立您的個(gè)性化主頁(yè)。當(dāng)您通過(guò)電話尋求 PC HelpCenter 的支持時(shí)也需要用到它。
在何處可以找到機(jī)型/型號(hào)/序列號(hào) 標(biāo)簽?
筆記本電腦 - 筆記本電腦的機(jī)器型號(hào)和序列號(hào)在機(jī)身背面, TYPE后面7位數(shù)是機(jī)器型號(hào),S/N 后面7位數(shù)是序列號(hào)。
NetVista 臺(tái)式機(jī)電腦 - 機(jī)器型號(hào)一般在主機(jī)的正前方右下角, 是以Model開(kāi)頭的7位數(shù)字,S/N 后面7位數(shù)是序列號(hào)。詳情請(qǐng)您點(diǎn)擊這里。
Aptiva 多媒體電腦- 不同的機(jī)型的查找方法不一樣.
IBM PC / Intellistation - 機(jī)器型號(hào)一般在主機(jī)的正前方右下角, 是以Model開(kāi)頭的7位數(shù)字,S/N 后面7位數(shù)是序列號(hào)。
IBM eServer x 系列服務(wù)器, Netfinity 和 PC 服務(wù)器 - 機(jī)器型號(hào)貼在服務(wù)器正面面板的右下角,S/N 后面7位數(shù)是序列號(hào)。
【DB件處理器處理SQL錯(cuò)誤的方法】相關(guān)文章:
用SQL實(shí)現(xiàn)查詢數(shù)據(jù)不顯示錯(cuò)誤數(shù)據(jù)的方法08-19
嵌入式處理器的分類06-05
sql max函數(shù)的使用方法10-16
sql server中避免死鎖的方法10-28
遠(yuǎn)程連接SQL Server 2000的方法07-16
SQL語(yǔ)句優(yōu)化方法詳細(xì)介紹08-30
手機(jī)處理器排行榜201706-27