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

DB2 not found異常的解決方法

編輯:DB2教程

DB2 not found異常問題的確讓我們非常頭疼,下面就為您分析其中的原因,並給出了兩種解決方法,希望對您能夠有所幫助。

什麼時候才會發生DB2 not found異常 ,以及db2中sqlcode的值是如何變化的?
在db2中,一條select 語句也有可能發生not found異常,譬如

  1. declare sqlcode integer default 0;  
  2. declare sql_code integer default 0;  
  3. declare classCode varchar(40) ;  
  4. select app_class_code into classCode from kf_app_class where app_name='無效記錄';  
  5. set sql_code=sqlcode;  

如果此時沒有檢索到記錄,那麼sqlcode的值為100,有的話為0;
我們可以定義NOT FOUND 異常處理

  1. declare sqlcode integer default 0;  
  2. declare sql_code integer default 0;  
  3. declare classCode varchar(40) ;  
  4. begin  
  5. declare continue handler for not found  
  6. begin  

--注如果發生not found那麼此時的sqlcode必定為100

  1. set sql_code=sqlcode;/*在這裡sqlcode的值為100;*/  
  2. --如果再次得到sqlcode的值那麼它的值變為0  
  3. set sql_code=sqlcode;/*這裡sqlcode變成了0,因為上一條語句執行成功了,那麼sqlcode變成了0*/  
  4. end;  
  5. select app_class_code into classCode from kf_app_class where app_name='無效記錄';  
  6. set sql_code=sqlcode;/*同理此時如果沒有取到數據,那麼會進declare continue handler ,返回後sqlcode的值也為0*/  
  7. end; 

所以我們可以通過兩種方法來捕獲和處理not found
DB2 not found異常的解決方法1:

  1. begin  
  2. declare continue handler for not found  
  3. begin  
  4. --異常處理代碼  
  5. end;  
  6. sql語句  
  7. end; 

DB2 not found異常的解決方法2:

  1. begin  
  2.  
  3. sql語句  
  4. if sqlcode=100 then  
  5. --異常處理代碼  
  6. end if;  
  7. end;  

db2日志保存的兩種方式

四種常用的DB2循環語句

DB2列函數和標量函數

DB2目錄視圖說明

DB2創建表--帶有自增列的表

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