SQL事务处理语句总结
2008-04-15 11:32
162 查看
存储过程中常用到的SQL事务处理语句格式可能会有如下几种:
第一种:
set xact_abort on
begin tran
insert ...
update ...
delete ...
commit tran
第二种:
set xact_abort on
begin tran
insert ...
if @@error<>0 rollback tran
update ...
if @@error<>0 rollback tran
delete ...
if @@error<>0 rollback tran
commit tran
第三种:
set xact_abort on
begin tran
insert ...
update ...
delete ...
if @@error<>0
rollback tran
else
commit tran
第四种:
set xact_abort on
begin tran
declare @ErrorSave int
insert ...
if @@error<>0 set @ErrorSave=1
update ...
if @@error<>0 set @ErrorSave=1
delete ...
if @@error<>0 set @ErrorSave=1
if @ErrorSave>0
rollback tran
else
commit tran
使用事务的缺陷:使用多了事务处理,经常会产生死锁现象,特别是多用户并发插入修改删除数据的时候,会造成服务器运行缓慢.所以有时候只好采取删除掉事务的代码,而是提前在程序中检测输入的存储过程参数是否合法数据.
第一种:
set xact_abort on
begin tran
insert ...
update ...
delete ...
commit tran
第二种:
set xact_abort on
begin tran
insert ...
if @@error<>0 rollback tran
update ...
if @@error<>0 rollback tran
delete ...
if @@error<>0 rollback tran
commit tran
第三种:
set xact_abort on
begin tran
insert ...
update ...
delete ...
if @@error<>0
rollback tran
else
commit tran
第四种:
set xact_abort on
begin tran
declare @ErrorSave int
insert ...
if @@error<>0 set @ErrorSave=1
update ...
if @@error<>0 set @ErrorSave=1
delete ...
if @@error<>0 set @ErrorSave=1
if @ErrorSave>0
rollback tran
else
commit tran
使用事务的缺陷:使用多了事务处理,经常会产生死锁现象,特别是多用户并发插入修改删除数据的时候,会造成服务器运行缓慢.所以有时候只好采取删除掉事务的代码,而是提前在程序中检测输入的存储过程参数是否合法数据.
相关文章推荐
- SQL事务处理语句总结
- SQL事务处理语句总结
- SQL事务处理语句总结
- JAVA中处理事务的程序--多条更新SQL语句的执行(包括回滚)
- delphi 事务处理SQL语句
- ORACLE DML LOCK时找出对应SESSION正在执行的SQL语句(ORA-12841,无法变更事务处理中的会话并行 DML 状态)
- 在EF4.1的DBContext中实现事务处理(BeginTransaction)和直接执行SQL语句的示例
- 使用事务一次处理多条SQL语句
- mysqli学习笔记 mysqli连接,multi_query多语句查询,SQL预处理stmt,事务处理
- SQL语句 事务的用法性质总结
- SQL2008--SQL语句-存储过程-触发器-事务处理-基本语法-函数
- 用事务一次处理多条SQL语句
- oracle事务处理多条sql语句
- android Sqlite数据库事务处理*.sql 语句集文件
- 在EF4.1的DBContext中实现事务处理(BeginTransaction)和直接执行SQL语句的示例
- delphi 事务处理SQL语句
- 使用事务处理多条SQL语句时,@@error在捣鬼
- 教您用事务一次处理多条SQL语句
- sql(四):子查询、DML语句、事务处理
- 用事务一次处理多条SQL语句