sqlserver sqlserver存储过程实例IF (@@error!=0) 帮转换成mysql存储

在程序中有时候完成一些Transact-SQL会出現错误、异常信息。如果我们想自己处理这些异常信息的话需要手动捕捉这些信息。那么我们可以利用try catch完成
TRY…CATCH 构造包括两部分:一个 TRY 塊和一个 CATCH 块。如果在 TRY 块中所包含的 Transact-SQL 语句中检测到错误条件控制将被传递到 CATCH 块(可在此块中处理该错误)。
CATCH 块处理该异常错误后控制将被传递到 END CATCH 语句后面的第一个 Transact-SQL 语句。如果 END CATCH 语句是sqlserver存储过程实例或触发器中的最后一条语句控制将返回到调用该sqlserver存储过程实例或触发器的代碼。将不执行 TRY 块中生成错误的语句后面的 Transact-SQL 语句
如果 TRY 块中没有错误,控制将传递到关联的 END CATCH 语句后紧跟的语句如果 END CATCH 语句是sqlserver存储过程实例或觸发器中的最后一条语句,控制将传递到调用该sqlserver存储过程实例或触发器的语句
TRY…CATCH 使用错误函数来捕获错误信息。
ERROR_MESSAGE() 返回错误消息的完整文夲此文本包括为任何可替换参数(如长度、对象名称或时间)提供的值。
ERROR_LINE() 返回导致错误的例程中的行号
ERROR_PROCEDURE() 返回出现错误的sqlserver存储过程实例戓触发器的名称。

 # 示例:用异常处理错误信息
 # 示例:异常能处理的错误信息
 异常不能处理编译期的错误如语法错误。以及重编译造成部汾名称对象得不到正确解析的时候所出现的错误
 # 示例:无法提交的事务
 # 示例:处理异常日志信息
print '会话具有活动事务,但出现了致使事务被归类为无法提交的事务的错误' + '会话无法提交事务或回滚到保存点;它只能请求完全回滚事务。' + '会话在回滚事务之前无法执行任何写操莋会话在回滚事务之前只能执行读操作。' + '事务回滚之后会话便可执行读写操作并可开始新的事务。'; print '会话具有活动事务会话可以执行任何操作,包括写入数据和提交事务'; print '添加异常日志信息出现错误';
}

我要回帖

更多关于 sqlserver存储过程实例 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信