SQL全局变量 -- @@error 与 @@ROWCOUNT 生存周期及相关

来源:互联网 发布:淘宝充气娃娃收货实图 编辑:程序博客网 时间:2024/05/01 11:25

@@error与@@ROWCOUNT一样,会在每一条语句执行后被清除并且重置,
看几个例子:

insert into tt values('4')
print @@error
print @@rowcount

上面的@@rowcount是检测不出insert语句的影响行数的,它是检测上一条语句print @@error的影响行数

insert into tt values('4')
print @@rowcount
print @@error

上面的@@error同样不能检测insert语句是否出错,它只能检测上一条语句 print @@rowcount 是否出错

为了同时检测insert语句的影响行数和是否出错,则需要用:
declare @rows as int
declare @err as int
insert into tt values('4')
select @rows=@@rowcount,@err=@@error
print @rows
print @err

原创粉丝点击