All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
解决方案:用户sa登录失败_[SQL,Server教程]
MySQL创始人支招Oracle,建议转售MySQL_mssql学习_编程技术
解决PHP的Failed,opening,required问题_php资料_编程技术
整理显示照片exif信息_[PHP教程]
Asp.net,Socket,客户端(发送和接收数据,)_[Asp.Net教程]
AJAX实例:Ajax实现静态页面分页_[AJAX教程]
当ASP.NET撞上JSF之框架比较_[Asp.Net教程]
我的一个Asp.Net验证码源代码_[Asp.Net教程]
Asp.Net2.0权限树中Checkbox的操作_[Asp.Net教程]
C#中的GDI+概述
Reading number is top 10 pictures
Exquisite decoration is not paying too much4
餐桌上的鱼
30 beautiful school beauty5
29 the belle stars after bath figure2
More attractive than sora aoi4
No trading, no killing
The money of more than 100 countries and regions18
史上最大的哺乳动物迁移
锄禾日了几个人?
Sanya, hainan Haitian party feast promiscuity
Download software ranking
White deer villiage
Sora aoi's film--cangkong_Blue.Sky
Visual C++界面编程技术
Unix video tutorial12
SP4 for SQL2000
Tram sex maniac 2 (H) rar bag14
尖东毒玫瑰B
Ashlynn Video1
Rio big adventure
Eclipse 4.2.2 For Win32
归海一刀 published in(发表于) 2014/2/1 0:17:45 Edit(编辑)
一个容易忽视的存储过程问题_[SQL,Server教程]

一个容易忽视的存储过程问题_[SQL,Server教程]

一个容易忽视的存储过程问题_[SQL Server教程]

sql server 2005中新增加的try catch,可以很容易捕捉异常了,今天大概学习看了下,归纳下要点如下


基本用法BEGIN TRY
{ sql_statement |
statement_block }
END TRY
BEGIN CATCH
{ sql_statement |
statement_block }
END CATCH
,和普通语言的异常处理用法差不多,但要注意的是,SQL SERVER只捕捉那些不是严重的异常,当比如数据库不能连接等这类异常时,是不能捕捉的一个例子:BEGIN TRY
DECLARE @X INT
-- Divide by zero to generate Error
SET @X = 1/0
PRINT 'Command after error in TRY block'
END TRY
BEGIN CATCH
PRINT 'Error Detected'
END CATCH
PRINT 'Command after TRY/CATCH blocks'
另外try catch可以嵌套Begin TRY
delete from GrandParent where Name = 'John Smith'
print 'GrandParent deleted successfully'
End Try
Begin Catch
Print 'Error Deleting GrandParent Record'
Begin Try
delete from Parent where GrandParentID =
(select distinct ID from GrandParent where Name = 'John Smith')
Print 'Parent Deleted Successfully'
End Try
Begin Catch
print 'Error Deleting Parent'
Begin Try
delete from child where ParentId =
(select distinct ID from Parent where GrandParentID =
(select distinct ID from GrandParent where Name = 'John Smith'))
print 'Child Deleted Successfully'
End Try
Begin Catch
Print 'Error Deleting Child'
End Catch
End Catch
End Catch
另外,SQL SERVER 2005在异常机制中,提供了error类的方法方便调试,现摘抄如下,比较简单,不予以解释ERROR_NUMBER(): Returns a number associated with the error.ERROR_SEVERITY(): Returns the severity of the error.ERROR_STATE(): Returns the error state number associated with the error.ERROR_PROCEDURE(): Returns the name of the stored procedure or trigger in which the error occurred.ERROR_LINE(): Returns the line number inside the failing routine that caused the error. ERROR_MESSAGE(): Returns the complete text of the error message. The text includes the values supplied for any substitutable parameters, such as lengths, object names, or times. 最后举例子如下,使用了error类的方法BEGIN TRY
DECLARE @X INT
-- Divide by zero to generate Error
SET @X = 1/0
PRINT 'Command after error in TRY block'
END TRY
BEGIN CATCH
PRINT 'Error Detected'
SELECT ERROR_NUMBER() ERNumber,
ERROR_SEVERITY() Error_Severity,
ERROR_STATE() Error_State,
ERROR_PROCEDURE() Error_Procedure,
ERROR_LINE() Error_Line,
ERROR_MESSAGE() Error_Message
END CATCH
PRINT 'Command after TRY/CATCH blocks'
最后输出Error Detected
Err_Num Err_Sev Err_State Err_Proc Err_Line Err_Msg
------- ------- --------- -------------------- --------- --------------------------------
8134 16 1 NULL 4 Divide by zero error encountered.


出处:jackyrong BLOG







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.