关于SQL SERVER中的错误处理

来源:互联网 发布:日亚转运 知乎 编辑:程序博客网 时间:2024/05/16 10:11
--示例语句
create table #temp (id int identity(1, 1), value int)
go
begin tran
insert into #temp(value) values(100)
insert into #temp(value) values(convert(int, 'abc')) --SET XACT_ABORT的设置无法处理这种错误
commit tran
go  --如果没有这句,则sql执行在这里已因异常而退出,下面处理@@error 的语句将无法发生
if (@@error <> 0)
  print 'error'
 
  另:SET XACT_ABORT 方法可以处理的是类似于外键错误的情况,而无法处理了似于上面标注出来的那个错误,详情参照SQL SERVER联机文档的相关说明。