当前位置: 代码迷 >> SQL >> SQLServer 在存储过程里应用事务控制的简单小例子
  详细解决方案

SQLServer 在存储过程里应用事务控制的简单小例子

热度:79   发布时间:2016-05-05 14:55:03.0
SQLServer 在存储过程里使用事务控制的简单小例子

alter proc sp_test
(
???? @name varchar(50)
)
as
begin
?? --开始事务
?? begin transaction
?? --设置一个存储报错代码的变量
?? DECLARE @errorSum INT
?? SET @errorSum=0
??
?? --在每一条涉及到数据变动的语句后都累加一次报错代码

?? insert into benInfo values(117,111,'111',111,2)
?? SET @errorSum+=@@ERROR
??
?? update benInfo set benMoney=222222222 where personID=10
?? SET @errorSum+=@@ERROR
???
?? --报错代码不为0表示在执行上述sql时出现错误,回滚事务,撤销所有更改
?? IF ( @errorSum <> 0 )
?? BEGIN
??????? print '出错,回滚'+cast(@errorSum as varchar(50))
??????? ROLLBACK TRANSACTION
?? END
?? ELSE
?? --报错代码为0表示无报错信息,可以执行更改操作
?? BEGIN
??????? print '提交'+cast(@errorSum as varchar(50))
??????? commit transaction
?? END

??
end

--select * from benInfo

--exec sp_test ''


  相关解决方案