sqlserver 存储过程和事务

  一天,一个不知名的朋友问我在数据库中存储过程和事务怎样一起用呀?我告诉他去百度,他说没有找到,那我就告诉他了,觉得挺实用就贴了出来,

简单的介绍一下事务吧,一个事务可以看成一个集合,要么全部执行,要么全部不只想,也就是提交事务和回滚事务

create proc proc_UpIn---创建一个存储过程
(
@id  int,
@name varchar(100),
@uid int
)
as
begin tran---(简单的说是开始事务)
declare @count int,@num int-----声明两个变量,一个区接收错误信息,一个去接接收受影响的行数
set @count=0
set @num=0
begin
    update files set f_readdegree=f_readdegree+1 where f_id=@id ---更新语句

set @count=@count+@@error-----这一句是接收上一句sql语句是否有错误,返回 ,此句必须和sql语句想靠,,强调一下,他是接收他上面的sql--------------------------------------------------语句是否只有错误
set @num= @@RowCount------------接收受影响的行数
    insert into filerevert(fre_content, fre_f_id,fre_u_id,fre_reverttime) values(@name,@id,@uid,GETDATE())--插入语句

set @count=@count+@@error
  set @num= @@RowCount+@num
end
if (@count<>0)----如果又错误,则@count是一个错误代码会不等于0
   begin
     set @num=0、/将受影响的行数回复为0,因为整个事务将回滚,回到初始态
     rollback tran
   end
else
    commit tran-----提交事务
return @num----返回受影响的行数

在代码中就可以调用这个存储过程来了.

转载于:https://www.cnblogs.com/Sunn/archive/2011/03/26/1996552.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值