转战C++

郁闷,本意想在触发器里面把一个字符型的字段转换成INT型变量,如果出错,则设变量 = 0,结果总是一出错就跳出来,对@@error的判断一点都没用,于是在网上搜,搜到MSDN中在介绍SQL Server 2005 Beta 2 Transact-SQL 增强功能中,讲异常处理时,写道这样一段话:

SQL Server 2005 Beta 2 以 TRY...CATCH Transact-SQL 结构的形式引入了一种简单但非常强大的异常处理机制。

以前版本的 SQL Server 要求在每个怀疑可能出错的语句之后包含错误处理代码。要将错误检查代码集中在一起,必须使用标签和 GOTO 语句。此外,诸如数据类型转换错误之类的错误会导致批处理终止;因此,无法用 Transact-SQL 捕获这些错误。SQL Server 2005 Beta 2 解决了这些问题中的很多问题。

现在可以捕获和处理过去会导致批处理终止的错误,前提是这些错误不会导致连接中断(通常是严重度为 21 及以上的错误,例如,表或数据库完整性可疑、硬件错误等等)。

参考网址:http://www.microsoft.com/china/MSDN/library/default.mspx?mfr=true

不爽~~~~~~~~~


posted on 2006-03-19 16:02  喜欢晒太阳的草  阅读(860)  评论(0编辑  收藏  举报