程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> 帶您了解DB2異常處理器類型

帶您了解DB2異常處理器類型

編輯:DB2教程

DB2異常處理器對於很多剛剛接觸DB2數據庫的新人來說還比較陌生,下面就為你分類介紹DB2異常處理器類型,希望對您能有所幫助。

DB2異常處理器類型(handler-type)有以下幾種:

CONTINUE 在處理器操作完成之後,會繼續執行產生這個異常語句之後的下一條語句。

EXIT 在處理器操作完成之後,存儲過程會終止,並將控制返回給調用者。

UNDO 在處理器操作執行之前,DB2會回滾存儲過程中執行的SQL操作。在處理器操作完成之後,存儲過程會終止,並將控制返回給調用者。 
異常處理器可以處理基於特定SQLSTATE值的定制異常,或者處理預定義異常的類。預定義的3種異常如下所示:

NOT FOUND 標識導致SQLCODE值為+100或者SQLSATE值為02000的異常。這個異常通常在SELECT沒有返回行的時候出現。

SQLEXCEPTIOIN 標識導致SQLCODE值為負的異常。

SQLWARNING 標識導致警告異常或者導致+100以外的SQLCODE正值的異常。

如果產生了NOT FOUND 或者SQLWARNING異常,並且沒有為這個異常定義異常處理器,那麼就會忽略這個異常,並且將控制流轉向下一個語句。如果產生了SQLEXCEPTION異常,並且沒有為這個異常定義異常處理器,那麼存儲過程就會失敗,並且會將控制流返回調用者。

EXIT處理器會在出現SQLEXCEPTION 或者SQLWARNING異常的時候被調用。EXIT處理器會在終止SQL程序之前,將名為stmt的變量設為"ABORTED",並且將控制流返回給調用者。UNDO處理器會將控制流返回給調用者之前,回滾存儲過程體中已經完成的SQL操作。 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved