SQL事务回滚
来源:互联网 发布:高仿mcm怎么在淘宝买 编辑:程序博客网 时间:2024/05/01 17:49
ben
Begin Transaction:开始一个事务;
Commit Transaction:提交事务;
Rollback Transaction:回滚事务。
其中Commit Transaction 与Rollback Transaction 都必须有对应的Begin Transaction 才能正确被执行。
如:
Begin Tran
……
Rollback Tran
Commit Tran
以上事务只执行了回滚操作。执行Commit Tran系统会返回3902错误,即@@Error=3902,COMMIT TRANSACTION 请求没有对应的 BEGIN TRANSACTION。
Begin Tran
……
Commit Tran
Rollback Tran
以上事务执行了提交事务操作。执行Rollback Tran系统会返回3903错误,即@@Error=3903,ROLLBACK TRANSACTION 请求没有对应的 BEGIN TRANSACTION。
实例:使用@@Error返回值来控制回滚
设有表a,有字段num (int),name (varchar(20));表b,有字段num (int),Add (varchar(50))。以下是一个存储过程,使用了@@Error的返回值来控件事件回滚:
- CREATE PROCEDURE [dbo].[TranTest]
- @num int,@name varchar(20),@Add varchar(20)
- AS
- DECLARE @ErrorA int,@ErrorB int
- begin transaction aa
- insert into a values(@num,@name)
- Set @ErrorA = @@error
- insert into b values(@num,@Add)
- Set @ErrorB = @@error
- if @ErrorA>0 or @ErrorB>0
- begin
- Rollback transaction aa
- end
- else
- commit transaction aa
- GO
begin transaction
declare @error int
set @error = 0
update bank set balance=balance-1000 where cid='0001'
set @error = @error + @@error
update bank set balance=balance + 1000 where cid='0002'
set @error = @error + @@error
if @error != 0
else
go
- SQL事务回滚
- SQL事务回滚
- sql 事务回滚 tran
- sql 事务回滚2
- sql server 事务回滚
- sql server 事务回滚
- Sql server 事务回滚
- SQL Server 事务及回滚事务
- Sql中使用事务回滚
- SQL存储过程调用"事务回滚"
- 关于SQL的事务回滚机制
- C# 实现 SQL Server 事务回滚
- SqlServer事务回滚
- 事务无法回滚
- 事务回滚
- 事务回滚处理
- 事务回滚反思
- c# 事务回滚
- 转
- linux命令文本操作随笔记
- 第一次工业革命(三)——蒸汽船的发展
- JDBC进阶
- 第四周项目4---建设双链表算法库
- SQL事务回滚
- Kafka简介
- JavaScript--9.字符串拼接
- 第一周第二节课:算法及其描述
- windows10激活
- JavaSwing_4.7: JPopupMenu(弹出菜单)
- 网络理论(小白)
- 【动态规划】矩阵连乘问题
- JavaSwing_4.8: JTable(表格)