偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

如何使用DB2條件處理器處理SQL錯(cuò)誤

數(shù)據(jù)庫(kù)
DB2是IBM出口的一系列關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),分別在不同的操作系統(tǒng)平臺(tái)上服務(wù)。同時(shí),DB2也是贏得了很多用戶的喜愛(ài),本文將為大家講解如何使用DB2條件處理器處理SQL錯(cuò)誤。

導(dǎo)讀:DB2條件處理器對(duì)于存儲(chǔ)過(guò)程來(lái)說(shuō),有著不可替代的作用。在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)的三種條件處理器。下文中將帶來(lái)詳細(xì)的DB2條件處理器處理SQL錯(cuò)誤分析。

  在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定義你自己的條件。
 

通過(guò)上文中的學(xué)習(xí),相信大家對(duì)如何使用DB2條件處理器處理SQL錯(cuò)誤已經(jīng)非常了解,在遇到類似的問(wèn)題大家也一定能夠輕松解決。

【編輯推薦】

  1. 分析DB2數(shù)據(jù)庫(kù)性能理解的主要誤區(qū)
  2. 解析DB2 9數(shù)據(jù)庫(kù)優(yōu)點(diǎn)及缺點(diǎn)
  3. DB2數(shù)據(jù)庫(kù)初始調(diào)優(yōu)和設(shè)計(jì)方面的考慮
責(zé)任編輯:迎迎 來(lái)源: IT專家網(wǎng)論壇
相關(guān)推薦

2010-11-04 15:48:37

DB2條件處理器

2010-11-03 10:12:49

DB2異常處理器

2010-08-17 15:31:54

DB2 存儲(chǔ)過(guò)程

2010-08-27 14:54:21

DB2批處理腳本

2010-09-30 16:00:40

DB2動(dòng)態(tài)SQL

2010-08-16 17:07:43

DB2 trc

2010-08-19 14:54:07

DB2 優(yōu)化器

2010-09-07 17:12:46

DB2故障處理

2010-11-03 11:02:34

DB2存儲(chǔ)過(guò)程

2010-09-06 15:13:05

DB2

2010-11-04 15:39:40

DB2 SQL語(yǔ)句

2010-08-02 16:38:39

DB2 UDB for

2010-09-30 13:27:09

DB2游標(biāo)

2010-07-29 14:15:21

2022-05-30 09:01:34

SQL自動(dòng)化參數(shù)

2010-08-04 13:37:43

2010-08-10 15:30:21

2010-08-10 13:51:13

DB2文件系統(tǒng)已滿

2010-08-31 16:13:40

DB2SQL函數(shù)

2010-11-01 15:53:41

DB2代碼頁(yè)設(shè)置
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)