多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 數據庫 > sybase > SybaseIQ存儲過程異常處理

SybaseIQ存儲過程異常處理

來源:程序員人生   發布時間:2014-01-23 18:46:26 閱讀次數:3704次

Sybase IQ數據庫中,有兩種異常信息,一種是警告warning、一種是錯誤error。
在存儲過程中,對這兩種異常信息做了不同的處理
1)在發生告警信息的時候,IQ會繼續執行。
2)在發生error時,IQ提供了兩種處理方式:

第一種是默認方式,在默認方式下,數據庫會將錯誤發生的SQLSTATE、SQLCODE返回到調用存儲過程的環境中,比如說你調用存儲過程所使用的客戶端

第二種是在創建SP的時候,可以指定,ON EXCEPTION RESUME 子句。如下:
CREATE PROCEDURE dba.sp_name()
ON EXCEPTION RESUME

使用ON EXCEPTION RESUME子句,過程會根據 ON_TSQL_ERROR 選項的設置采取不同的操作。如果 ON_TSQL_ERROR 設置為CONDITIONAL (缺省設置),則當下一條語句處理錯誤時,將繼續執行下面的語句;否則將退出。

我寫了一個簡單的過程來測試的:
Java代碼 
CREATE PROCEDURE "DBA"."OuterProc"() ON EXCEPTION RESUME 
BEGIN 
   declare command_test exception for SQLSTATE '52003'; 
   MESSAGE 'Hello from OuterProc.' TO CLIENT; 
   signal command_test;  --模擬錯誤消息   
   if  SQLSTATE=52003 then MESSAGE 'Hello from OuterProc.' TO CLIENT  
   end if; 
END 


Java代碼 
CALL OuterProc(); 


結果輸出為:
Java代碼 
Hello from OuterProc. 
Hello from OuterProc. 


若將if 處理語句去掉,,則會顯示出錯。

在IQ中,處理語句還包括:
• IF
• SELECT @variable =
• CASE
• LOOP
• LEAVE
• CONTINUE
• CALL
• EXECUTE
• SIGNAL
• RESIGNAL
• DECLARE
• SET VARIABLE

作者“yangyoupeng-cn-fujitsu-com”
 

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 亚洲福利视频在线 | 可以免费看的黄色网址 | 国产精品视频1区 | 1区2区3区4区 | 欧洲免费无线码一二区 | 伊人蕉久 | 麻豆精品不卡国产免费看 | 欧日韩一区二区三区 | 日本在线一区 | 国产区亚洲区 | 俺去啦最新 | 欧美精品久久久亚洲 | 周妍希国产福利在线观看 | 男女性免费视频观看 | 手机看片日韩日韩 | 欧美成人毛片一级在线 | 精品一区二区三区免费站 | 精品久久久一二三区 | 日韩一区精品 | 亚在线 | 中文字幕免费在线视频 | 久久精品亚洲欧美va | 欧美成人h版整片合集 | 国产一级做a爰片久久毛片99 | 亚洲精品久久久久中文 | 亚洲最大福利 | 亚洲图片欧美文学小说激情 | 成人在线观看不卡 | 久草精品视频在线播放 | 啪网址 | 国产精品爱久久久久久久 | 欧美人与动性视频在线观 | 波多野结衣一区二区三区在线观看 | 欧美日韩精选 | 毛片com| 岛国片在线播放 | 欧美xx网| 国产爱v| 亚洲欧美精品一区天堂久久 | www免费 | 亚洲日本中文字幕天堂网 |