亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數(shù)據(jù)庫 > SQL Server > 正文

SQL Server 2005 中使用 Try Catch 處理異常

2024-08-31 01:03:59
字體:
供稿:網(wǎng)友

TRY...CATCH是Sql Server 2005/2008令人印象深刻的新特性.提高了開發(fā)人員異常處理能力.沒有理由不嘗試一下Try.. Catch功能.

* TRY 塊 - 包含可能產(chǎn)生異常的代碼或腳本
* CATCH 塊 - 如果TRY塊出現(xiàn)異常,代碼處理流將被路由到CATCH塊.在這里你可以處理異常,記錄日志等.
Sql Server中的Try Catch和C#,JAVA等語言的處理方式一脈相承.這種一致性才是最大的創(chuàng)新之處.

一、SQL SERVER 2000中異常處理

CREATE PROC usp_AccountTransaction    @AccountNum INT,    @Amount DECIMAL  AS  BEGIN    BEGIN TRANSACTION --beginning a transaction..      UPDATE MyChecking SET Amount = Amount - @Amount        WHERE AccountNum = @AccountNum      IF @@ERROR != 0 --check @@ERROR variable after each DML statements..      BEGIN        ROLLBACK TRANSACTION --RollBack Transaction if Error..        RETURN      END      ELSE      BEGIN        UPDATE MySavings SET Amount = Amount + @Amount          WHERE AccountNum = @AccountNum        IF @@ERROR != 0 --check @@ERROR variable after each DML statements..        BEGIN          ROLLBACK TRANSACTION --RollBack Transaction if Error..          RETURN        END        ELSE        BEGIN          COMMIT TRANSACTION --finally, Commit the transaction if Success..          RETURN        END      END  END  GO 

上面是Sql server 2000的一個存儲過程,在每個數(shù)據(jù)庫操作之后立即必須檢查@@ERROR,進行Commit / RollBack該事務(wù).
Sql server 2000中監(jiān)測錯誤,只能通過監(jiān)測全局遍歷 @@ERROR.由于@@ERROR會被下一個數(shù)據(jù)庫操作所覆蓋. 所以在每次操作完后必須立即監(jiān)測.

二、SQL SERVER 2005中異常處理

TRY...CATCH是SQL Server 2005提供的更具有可讀性的語法.每個開發(fā)人員都熟悉這種寫法.SQL Server 2005仍然支持@@ERROR這種用法.

1.try catch語法:

BEGIN TRY    Try Statement 1    Try Statement 2    ...    Try Statement M  END TRY  BEGIN CATCH    Catch Statement 1    Catch Statement 2    ...    Catch Statement N  END CATCH 

2.獲得錯誤信息的函數(shù)表:

下面系統(tǒng)函數(shù)在CATCH塊有效.可以用來得到更多的錯誤信息:

函數(shù) 描述

ERROR_NUMBER() 返回導(dǎo)致運行 CATCH 塊的錯誤消息的錯誤號。
ERROR_SEVERITY() 返回導(dǎo)致 CATCH 塊運行的錯誤消息的嚴重級別
ERROR_STATE() 返回導(dǎo)致 CATCH 塊運行的錯誤消息的狀態(tài)號
ERROR_PROCEDURE() 返回出現(xiàn)錯誤的存儲過程名稱
ERROR_LINE() 返回發(fā)生錯誤的行號
ERROR_MESSAGE() 返回導(dǎo)致 CATCH 塊運行的錯誤消息的完整文本

簡單示例:

BEGIN TRY    SELECT GETDATE()    SELECT 1/0--Evergreen divide by zero example!  END TRY  BEGIN CATCH    SELECT 'There was an error! ' + ERROR_MESSAGE()    RETURN  END CATCH; 

3.try catch回滾/提交事務(wù)的示例

ALTER PROC usp_AccountTransaction    @AccountNum INT,    @Amount DECIMAL  AS  BEGIN    BEGIN TRY --Start the Try Block..      BEGIN TRANSACTION -- Start the transaction..        UPDATE MyChecking SET Amount = Amount - @Amount          WHERE AccountNum = @AccountNum        UPDATE MySavings SET Amount = Amount + @Amount          WHERE AccountNum = @AccountNum      COMMIT TRAN -- Transaction Success!    END TRY    BEGIN CATCH      IF @@TRANCOUNT > 0        ROLLBACK TRAN --RollBack in case of Error      -- you can Raise ERROR with RAISEERROR() Statement including the details of the exception      RAISERROR(ERROR_MESSAGE(), ERROR_SEVERITY(), 1)    END CATCH  END  GO

三、實例講解

創(chuàng)建錯誤日志表:

CREATE TABLE ErrorLog(errNum INT,ErrSev NVARCHAR(1000),ErrState INT,ErrProc NVARCHAR(1000),ErrLine INT, ErrMsg NVARCHAR(2000))

創(chuàng)建錯誤日志記錄存儲過程:

CREATE PROCEDURE ErrorLogAS    SELECT ERROR_NUMBER() AS ErrNum,ERROR_SEVERITY()AS ErrSev,ERROR_STATE() AS ErrState,ERROR_PROCEDURE() AS ErrProc,ERROR_LINE()AS ErrLine,ERROR_MESSAGE()AS ErrMsg    INSERT    INTO ErrorLog    VALUES(ERROR_NUMBER(),ERROR_SEVERITY(),ERROR_STATE(),ERROR_PROCEDURE(),ERROR_LINE(),ERROR_MESSAGE())GO

寫一個存儲過程吧!里面使用一下Try Catch:

USE [Your_Test]GO/****** Object: StoredProcedure [dbo].[getTodayBirthday]      Script Date: 05/17/2010 15:38:46     Author:jinho    Desc:獲取當天生日的所有人    ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER PROCEDURE [dbo].[getTodayBirthday]ASBEGIN TRY declare @today datetime;  SET @today = GETDATE();--獲取今天的日期 DECLARE @day VARCHAR(2); SET @day =REPLACE(DAY(@today),0,''); DECLARE @month VARCHAR(2) ; SET @month = REPLACE(month(@today),0,''); DECLARE @year VARCHAR(4); SET @year = YEAR(@today); SELECT * FROM dbo.UserInfo WHERE REPLACE(DAY(CONVERT(DATETIME,Birthday )),0,'') =@day AND REPLACE(MONTH(CONVERT(DATETIME,Brithday)),0,'')=@month AND Birthday IS NOT NULL  END TRY BEGIN CATCH ErrorLog --調(diào)用上面的存儲過程,保存錯誤日志 END CATCH

說明:ERROR_NUMBER(),ERROR_SEVERITY(),ERROR_STATE(),ERROR_PROCEDURE(),ERROR_LINE(),ERROR_MESSAGE() 這幾個函數(shù)只能用在Catch里面!

 


注:相關(guān)教程知識閱讀請移步到MSSQL教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
欧美18—19sex性hd| 日韩色图在线观看| 又黄又色的网站| 亚洲一区亚洲二区亚洲三区| 国产99久久久| 国产另类xxxxhd高清| 国产一区欧美日韩| 91高清在线观看| 精品精品国产三级a∨在线| 亚洲有吗中文字幕| www.色多多| 黄色aaa级片| 99热99这里只有精品| 播九公社成人综合网站| 亚洲视频在线观看免费| 91中文字幕在线| 国产福利一区二区三区视频| 视频一区二区欧美| 国产福利在线播放| 国产精品久久久久久久牛牛| www在线免费观看视频| 黄色的视频在线免费观看| silk一区二区三区精品视频| 欧美精品久久一区二区三区| 亚洲人成电影网站| 9797在线看片亚洲精品| 人人干人人爱人人爱| 亚洲自拍欧美色图| 久久久久国色av免费观看性色| 成人免费视频国产免费| 日韩久久精品一区| 亚洲狠狠婷婷综合久久久久图片| 91在线不卡| 国产高清精品网站| 2019中文字幕视频| 免费视频最近日韩| 亚洲视频小说| 在线看黄网址| 最近2018年手机中文在线| 欧美色区777第一页| 久久亚洲影音av资源网| 欧美精品99久久久| 在线成人一区二区| 骚虎黄色影院| 少妇高潮毛片色欲ava片| 亚洲精品在线免费播放| 色婷婷av一区二区三区gif| 波多野结衣爱爱视频| 日韩精品一区二区三区中文不卡| av中文字幕在线免费观看| 老司机福利在线视频| 欧美日韩一区二区高清| 中文字幕色婷婷在线视频| 一本久道久久综合多人| 国产无遮挡在线视频免费观看| 成人毛片老司机大片| 美女精品久久| av不卡在线| 国产白丝一区二区三区| 黄色片在线播放| 国产亚洲欧美激情| 国产欧美va欧美不卡在线| www.中文字幕在线观看| 日本网站在线播放| 欧美高清视频一区二区| 国产又粗又猛又爽视频| 四虎4545www国产精品| 污网站在线播放| 久久66热这里只有精品| 九九综合在线| 国产成人精品一区二区三区免费| 欧美最猛黑人xxxxx猛交| 国产一精品一aⅴ一免费| 亚洲欧美国产日韩中文字幕| 国产视频精品视频| 美女网站久久| www.av在线视频| 97操碰视频| 亚洲色婷婷久久精品av蜜桃| 岳张嘴把我的精子吞下去| 日韩中文字幕视频在线观看| 一区二区中文| 黄色成人在线免费观看| 天天射天天爱天天射干| 欧美日韩成人在线| 国产亚洲成人av| 国产成人精品综合久久久久99| 国产在线日韩欧美| 久久免费电影| 欧美亚洲成人精品| 天天射—综合中文网| 久久黄色片视频| 成人免费视频久久| 精品少妇一区二区三区在线| 成人午夜淫片100集| 精品一区二区三区蜜桃在线| 蜜臀久久99精品久久久| 亚洲综合激情在线| 国产乱子轮精品视频| 午夜a成v人精品| 男人影院在线观看| 免费欧美在线视频| 国产成人午夜片在线观看高清观看| 国产成人亚洲综合色影视| 高清shemale亚洲人妖| 久久亚洲精品小早川怜子66| 日韩成人在线视频网站| 国产精品天美传媒入口| 欧美人成在线观看网站高清| 九一亚洲精品| 91手机在线观看| 97在线视频免费看| 亚洲欧洲中文日韩久久av乱码| 日本www视频在线观看| 精品人妻在线视频| 国产污视频在线观看| 97影院在线观看| 国产精品秘入口| 日韩av中文字幕在线播放| 久久免费午夜影院| 超碰在线资源| 精品一区二区三区视频在线播放| 哥也色在线视频| 亚洲精品久久久久久久蜜桃臀| 日韩三级.com| 亚洲欧美精品伊人久久| 又污又黄的网站| 美女日韩在线中文字幕| 久久无码高潮喷水| 国产女人水真多18毛片18精品视频| 国产综合色在线观看| 国产香蕉视频在线观看| 久久频这里精品99香蕉| 亚洲成人在线网站| 俄罗斯女人裸体性做爰| 国产午夜精品在线| 欧美日韩亚洲另类| 成人网在线免费观看| 日本视频在线一区| 欧美精品v日韩精品v韩国精品v| 国产精品私房写真福利视频| 久久成人这里只有精品| 日韩av电影一区| 国产精品无码一本二本三本色| 粗大黑人巨茎大战欧美成人| 色爱综合av| 日本中文一区二区三区| 二区三区偷拍浴室洗澡视频| 久久久久久天堂| 伊人久久大香线蕉综合75| 亚洲国产成人精品激情在线| www.亚洲欧美| 国产乱码精品一区二区三区av| 一区二区久久久久| 视频一区二区欧美| 第四色亚洲色图| 欧美日韩亚洲高清一区二区| 欧美超级免费视 在线| 日韩精品一区二区三区视频| 中文字幕欧美在线| 91影院成人| 一区二区三区国产豹纹内裤在线| 国产精品视频一区二区三区不卡| 18黄暴禁片在线观看| 成人资源www网在线最新版| 国产精品毛片无遮挡高清| 国产成人在线一区二区| 久久精品在线| 一区国产精品视频| 国产精品一国产精品k频道56| 99热免费观看| 99热这里精品| 国产一级特黄毛片| a天堂中文字幕| 激情偷乱视频一区二区三区| 美女精品在线| 免费观看美女裸体网站| 亚洲香蕉成人av网站在线观看| 成人久久综合| 久久理论片午夜琪琪电影网| 四虎影院成人| 国产日韩欧美在线播放不卡| 激情成人中文字幕| 91精品国自产在线偷拍蜜桃| 国产有色视频色综合| 日本在线视频www鲁啊鲁| 欧美精品九九99久久| 中文字幕一区久| 成人在线精品| 免费h精品视频在线播放| 在线精品观看国产| 亚洲japanese制服美女| 国产精品一区二区3区| 久久精品夜夜夜夜夜久久| www 日韩| 豆国产97在线| 亚洲精品黄网在线观看| 男人操女人下面视频| 日本我和搜子同居的日子高清在线| 欧洲精品一区| 亚洲自拍偷拍精品| av之家在线观看| 日韩欧美视频一区二区三区四区| 熟女丰满老熟女熟妇| 亚洲小说欧美激情另类| 丝袜美腿美女被狂躁在线观看| 一级欧美一级日韩片| 影音先锋男人资源站| 国产成人一级电影| 中文在线资源新版官网| 亚洲午夜一区二区| 成人黄色av网| av成人在线网站| 欧美久久久久| 中文字幕av一区二区三区人| 久久精品久久精品| 免费看黄网站在线观看| 在线能看的av| 免费看一级黄色| 一级黄色在线观看| 黄色av免费在线| 欧美影视一区| 久久精品久久久久久久| 一区二区日本伦理| 又黄又爽的视频在线观看| 中文字幕精品在线播放| 亚洲一级生活片| 亚洲精品一区二区三区精华液| 成人自拍视频网站| 婷婷成人基地| 亚洲色偷偷色噜噜狠狠99网| 欧美日韩在线视频一区| 成人影院网站ww555久久精品| 国产亚洲午夜高清国产拍精品| 在线免费看黄视频| www.99在线| 一级欧美一级日韩| 精品一区精品二区高清| 亚洲免费视频在线观看| 天天爽人人爽夜夜爽| 2019最新中文字幕| 久久久91精品国产一区不卡| 99三级在线| caopon在线免费视频| 亚洲影视中文字幕| 黄色片免费观看| 91香蕉视频免费在线观看| 亚洲成人精品电影在线观看| 亚洲伊人一本大道中文字幕| 国产精品一区二区三区www| 午夜伦理大片视频在线观看| av在线播放亚洲| 国产一线二线在线观看| 国产精品乱码一区二区三区软件| 丁香啪啪综合成人亚洲| 欧美一区二区视频免费观看| 欧美裸身视频免费观看| 亚洲日穴在线视频| 亚洲www色| 黄网站网址视频| 欧洲杯半决赛直播| 亚洲影视资源| 免费黄色片网站| 永久久久免费浮力影院| 自拍偷拍欧美精品| 国产拍揄自揄精品视频麻豆| 色呦呦呦在线观看| 都市激情久久综合| 日韩精品视频在线免费观看| 激情五月激情综合网| 午夜福制92视频| 精品国内二区三区| 麻豆精品蜜桃视频网站| 国产chinese精品一区二区| 999av小视频在线| 免费a视频在线观看| 久久婷婷色综合| 亚洲一区欧美| 日韩精品久久理论片| 国模套图日韩精品一区二区| 特级黄国产片一级视频播放| 中文字幕在线综合| 五月天激情视频在线观看| 狠狠色狠狠色综合| 蜜桃臀av在线| 91极品视频在线| 在线观看国产一区二区| а√天堂资源官网在线资源| 久久综合av| 亚洲の无码国产の无码步美| 可骚可骚的黄视频网站| 精品久久久中文字幕| 亚洲欧洲另类国产综合| 亚洲国产福利在线| 中文字幕21页在线看| 秋霞影院一区二区| 好爽好深好紧好大| 国精产品一区一区三区mba视频| 天天干中文字幕| 国产suv精品一区二区三区88区| www色aa色aawww| 夜夜操天天干| 色噜噜亚洲精品中文字幕| 污污网站在线看| 国内一区二区三区在线视频| 亚洲欧美日韩中文播放| 亚洲高清不卡av| 国产偷窥女洗浴在线观看亚洲| 欧美一区亚洲| 国产交换配乱淫视频免费| 日批视频在线免费看| 日日草天天干| 国产中文字幕一区二区| 一本到av在线| 久久电影网电视剧免费观看| 免费看av的网址| aaa欧美色吧激情视频| 国产高清免费av在线| 欧美成人中文| 成人福利网站在线观看| 交换做爰国语对白| 九九在线免费视频| 国产精品日韩av| 中文字幕观看视频| 91色p视频在线| 午夜不卡福利视频| 日韩视频免费中文字幕| 黄色小说在线播放|