11.22
@@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
浙公网安备 33010602011771号