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
转自:
http://blog.csdn.net/dezwen/archive/2006/03/08/618844.aspx
分享到:
相关推荐
SQL 事务回滚解决回滚无效的情况 BEGIN TRY END TRY CAHTH
sql server常见问题及其解决方法和.NET代码段
java 应用程序操作数据库实例,若出现sql异常则事务回滚。
SQL2000 事务回滚问题,对于严重的错误,系统根本就不会执行随后对@@error的判断,会直接终止执行,感兴趣的朋友可以参考下哈
执行多条SQL语句对数据库进行操作,如果某个SQL语句执行中出错,那么要对之前的操作进行回滚,代码比较简单。
SQL写了回滚无效 回滚没用 写了事务回滚无效
内容概述:SQL Server数据库相关内容,对应张磊著《SQL Server数据库应用技术项目化教程》中166页(3)ROLLBACK TRANSACTION将显式事务或隐式事务回滚到事务的结束所对应的源码。代码经个人运行后无误,如果下载后运行...
在数据没有备份的情况下,它可以对数据进行恢复,无论是update/insert/delete都可以进行回滚操作,有demo做介绍,
本文介绍在事务中回滚TRUNCATE操作的方法,并演示了操作的结果,是可以对TRUNCATE进行回滚操作的。
在日常工作或者学习中,操作数据库时候难免会因为“大意”而误操作,需要快速恢复的话通过备份来恢复是不太可能的,下面这篇文章主要给大家介绍关于Mysql误操作后利用binlog2sql快速回滚的方法,话不多说,来一起看...
如果在日常工作出现这样的情况,绝对不能慌张,要静下心下来寻找问题的解决办法,不能病急乱投医,胡乱操作。如果有数据管理员,一定要及时联系数据管理员让他们处理。如果没有,也可以按本文介绍的方法去处理,这种...
SQL回滚的作用什么,什么是SQL回滚的作用
此文档中详细的记载了,sql2005 批量更新问题的解决方法,希望可以帮到你!
SQL安装提示挂起解决方法SQL安装提示挂起解决方法SQL安装提示挂起解决方法SQL安装提示挂起解决方法SQL安装提示挂起解决方法SQL安装提示挂起解决方法SQL安装提示挂起解决方法SQL安装提示挂起解决方法SQL安装提示挂起...
网上很多关于mysql运行sql语句乱码的解决方法,都没有很好的解决这个问题,经本人不断努力,不断尝试,终于解决这个问题。如有这个问题出现,可参考此文档。
主要是在实际开发中运用到对数据库的操作同步进行,几个操作相关性的问题。 回滚了就说明事务有个判断,阻止SQL的自动提交,添加认为控制
包含一些常见的SqlServer问题解决方法,包括:sa忘记密码怎么办?SQL server2008过期激活方法?SqlSever千万条以上记录分页数据库优化经验总结,删除所有存储过程的方法及一个简单的游标示例.
用Web将数据从Excel导入到SQL Server中遇到的问题及其解决方法.pdf
SQL Server7.0数据库导入数据时出现的符号问题及其解决方法.pdf