国产成人精品在线播放_欧美国产日韩在线播放_韩国v欧美v日本v亚洲_午夜久久资源

怎樣利用DB2條件處理器來解決SQL數據庫的錯誤?

發布時間:2011/1/12 11:47:00

       在DB2條件下的處理器對于存儲過程來說,有著不可替代的作用。在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’開始。



Copyright© 2004-2020 河南海騰電子技術有限公司 版權所有   經營性ICP/ISP證 備案號:B1-20180452   豫公網安備 41019702002018號    電子營業執照

主站蜘蛛池模板: 国产精品视频网站在线观看| 亚洲在线不卡| 亚洲福利av| 日本国产欧美一区二区三区| 91精品免费视频| 欧美高清视频一区| 国产精品成久久久久三级| 国产精品免费观看高清| 国产精品自在线| 激情五月五月婷婷| 亚洲精品tv久久久久久久久| 亚洲午夜精品一区二区| 精品国产91亚洲一区二区三区www| 欧美精品在线第一页| 国产成人中文字幕| 欧美精品一本久久男人的天堂| 国产不卡视频在线| 国产综合av一区二区三区| 91国产在线免费观看| 国产日韩欧美视频在线| 国产精品麻豆免费版| 日韩网址在线观看| 中文字幕无码不卡免费视频 | 日本午夜在线亚洲.国产| 日韩亚洲欧美精品| 欧美日韩第二页| 国产精品自在线| www亚洲精品| 中文字幕在线观看一区二区三区| 91高潮在线观看| 欧美亚洲日本黄色| 精品免费国产| 精品国产一区二区三区在线| 国产精品视频区1| 亚洲欧美日韩在线综合| 色综合久久中文字幕综合网小说| 欧美日韩不卡在线视频| 欧美精品久久久久久久免费观看| 视频一区免费观看| 日本不卡视频在线播放| 精品国产成人av在线免|