
SQL Server 2005数据库中错误捕捉的新功能
虽然在以前的SQL Server版本中可以通过一些技巧实现错误捕捉,但有时需要增加一些额外的开销,如在p1中使用了SELECT语句。庆幸的是在SQL Server2005中提供了和大多数编程语言类似的try...catch错误捕捉功能,从而使Transact-SQL第一次可以真正地进行错误捕捉。使用try...catch可以将p1的下半部分改写为如下形式。
|
我们可以发现,这个改写的部分未使用SELECT查询table1中是否已经有了某条记录,而是通过数据库的约束来进行判断的。如果键值冲突,就产生了错误,这样SQL语句就直接跳到BEGIN CATCH中执行错误处理代码。这样做效率要比上一个版本高得多,而且如果将RAISERROR去掉,p1就不会抛出任何错误,只是返回了一个错误码,这种做法的好处是有利于客户端代码进行处理。
如果使用SQL Server 2005数据库,在Transact-SQL中进行错误捕捉,建议尽量使用try...catch,因为它会捕捉到未预料到的错误,并且会使Transact-SQL更易于维护。当然,这样做就无法将Transact-SQL移植到SQL Server2000或更低的版本上运行,如果想写通用的Transact-SQL,读者可以使用传统的方法来捕捉错误。
| 关于我们 | 联系我们 | 广告服务 | 工作机会 | 版权声明 | 欢迎投稿 | 网站地图 |
| Copyright © 2000-2008 , www.21tx.com , All Rights Reserved . |
| © 晨新科技 版权所有 Created by TXSite.net |