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