SQL server从入门精通---- 事务

-------------事务--------------
--我的理解(执行几条语句时,只要有一条语句执行不成功,其他的语句都不够被执行)

--事务:将多个操作当做一个独立的逻辑单元的执行方式为事务------
--特点:多个操作只有在都执行成功时才算成功,只要有一个执行失败那应该整体就属于失败,成功了可以提交,失败了可以回滚

语法
begin transaction tr_insert --开始事物(名称随便取
begin try
 insert into Q_user(uLogName) values('dsf')
 insert into Q_user(uLogName) values('dsf') 
 --违反了 UNIQUE KEY 约束“UQ__Q_user__07E32C94386667D8”。不能在对象“dbo.Q_user”中插入重复键。重复键值为 (dsf)。会报错
 --全部成功提交事务
 commit tran tr_insert --这里的名字
end try
begin catch
--报错获取异常回滚语句块
 rollback tran
end catch

select * from Q_user

create proc execTran
@sql1  nvarchar(1000),
@sql2  nvarchar(1000),
@rtn nvarchar(1000) output
as
begin tran tr_exec2
begin try
    exec @sql1
    exec @sql2
    set @rtn='success'
    commit tran execTran
end try
begin catch
    set @rtn=@@ERROR
    rollback tran tr_exec2
end catch
go

drop proc  execTran

declare @rtn nvarchar(100)
exec execTran 'insert into Q_user values(,,,,,,,,)','sql2',@rtn output
print @rtn

 

转载于:https://www.cnblogs.com/CodeTaotao/p/4811971.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值