Sql Server 中的 @@ERROR用法

@@ERROR:当前一个语句遇到错误,则返回错误号,否则返回0。
需要注意的是@ERROR在每一条语句执行后会被立刻重置,因此应该在要验证的语句执行后检查数值或者是将它保存到局部变量中以备将来使用。

select * from StuInfo

insert into StuInfo values(N'张三',null,1)

update stuInfo set cid=1007 where Name=N'张三'

select * from StuInfo,ClassInfo where StuInfo.cid=ClassInfo.Id

go
create proc del_class @id int
as
   begin tran
      declare @error int=0
      delete from StuInfo where cid=@id
      select @error+=@@ERROR --上一次执行语句结果的错误编号
      delete from ClassInfo where id=@id
      set @error+=@@ERROR

      if @error<>0
        rollback tran
      else
         commit tran
go

exec del_class 1007

 

posted @ 2021-11-22 19:33  顾屿南歌  阅读(455)  评论(0编辑  收藏  举报