SQL Server 事务及回滚事务
2010-08-23 14:44
260 查看
第一种:
declare @iErrorCount int
set @iErrorCount = 0
begin tran Tran1
insert into t1(Id, c1) values(1,'1')
set @iErrorCount=@iErrorCount+@@error
insert into t1(Id, c1) values('XX2','2')
set @iErrorCount=@iErrorCount+@@error
if @iErrorCount=0
begin
COMMIT TRAN Tran1 --执行事务
end
else
begin
ROLLBACK TRAN Tran1 --回滚事务
end
第二种:
Begin Try
Begin Tran Tran1
insert into t1(Id, c1) values(1,'1')
insert into t1(Id, c1) values('XX2','2') --此句产生错误
COMMIT TRAN Tran1
END Try
Begin Catch
raiserror 50005N'出错了'
ROLLBACK TRAN Tran1 ---出错后调用回滚
END Catch
第三种:
SET XACT_ABORT ON ----语句产生运行时错误,则整个事务将终止并回滚。
Begin Tran
INSERT INTO t1(Id, c1) VALUES(1,'1')
INSERT INTO t1(Id, c1) VALUES('XX2','2') --此句产生错误时,就会回滚整个事务
Commit Tran
declare @iErrorCount int
set @iErrorCount = 0
begin tran Tran1
insert into t1(Id, c1) values(1,'1')
set @iErrorCount=@iErrorCount+@@error
insert into t1(Id, c1) values('XX2','2')
set @iErrorCount=@iErrorCount+@@error
if @iErrorCount=0
begin
COMMIT TRAN Tran1 --执行事务
end
else
begin
ROLLBACK TRAN Tran1 --回滚事务
end
第二种:
Begin Try
Begin Tran Tran1
insert into t1(Id, c1) values(1,'1')
insert into t1(Id, c1) values('XX2','2') --此句产生错误
COMMIT TRAN Tran1
END Try
Begin Catch
raiserror 50005N'出错了'
ROLLBACK TRAN Tran1 ---出错后调用回滚
END Catch
第三种:
SET XACT_ABORT ON ----语句产生运行时错误,则整个事务将终止并回滚。
Begin Tran
INSERT INTO t1(Id, c1) VALUES(1,'1')
INSERT INTO t1(Id, c1) VALUES('XX2','2') --此句产生错误时,就会回滚整个事务
Commit Tran
相关文章推荐
- SQL Server 事务处理 回滚事务
- SQL Server 事务处理 回滚事务
- SQL Server 事务及回滚事务
- SQL Server 事务及回滚事务
- sql server 锁与事务拨云见日(中)
- sql server 存储过程、事务,增删改
- 【SQL Server学习笔记】事务、锁定、阻塞、死锁 sys.sysprocesses
- 九.SQL server 事务、锁与游标问题
- SQL Server 事务简单使用
- 重温SQL Server(事务处理与高级查询)
- 存储过程调用"事务回滚" (SQL server)
- SQL Server事务日志介绍(转)
- SQL Server基础概念--事务
- SQL Server的事务和错误处理
- Sql Server 事务的两种用法
- SQL Server 事务日志的问题
- sql server 事务的回滚 断电
- SQL Server 事务、异常和游标
- SQL Server中的事务与锁
- SQL server事务中的保存点(save)