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

 

上一篇:详解MySQL主键唯一键重复插入解决方法


下一篇:python使用携程完成批量模拟支付