在存储过程中使用事物

 一个简单的例子,希望能与大家共同讨论

 

create  proc sp_submit_topic

@topicId int,
@content varchar(1000),
@uid varchar(20),
@datetime datetime

as

begin tran --开发事物

insert into tb_re_topic
values
(
  
@topicId,@uid,@content,@datetime
)

if @@error<>0 --表示出现了错误
begin
  
rollback tran  --回滚 
end

--没有出现错误,继续向下执行

declare @value int

select @value=to_num from tb_topic where _id=@topicId

update tb_topic set to_num=@value+1 where _id=@topicId

if @@error<>0  --再次判断是否出现了错误
begin
  
rollback tran
end

commit tran--  提交事物
GO

原文地址:https://www.cnblogs.com/wantingqiang/p/1306545.html