SQL必知必会——管理事务处理(二十)

1、事务处理

事务处理是一种机制,用来管理必须成批执行的SQL操作,保证数据库不包含不完整的操作结果。利用事务处理,可以保证一组操作不会中途停止,他们要么完全执行,要么完全不执行(除非明确指示)。如果没有错误发生,整组语句提交给数据库,如果发生错误,则进行回退(撤销),将数据库恢复到某个已知安全的状态。

事务处理的术语:

  • 事务:指一组SQL语句
  • 回退:指撤销指定SQL语句的过程
  • 提交:将未存储的SQL语句结果写入数据库表
  • 保留点:指事务处理中设置的临时占位符,可以对他发布回退

2、控制事务处理

管理事务的关键在于将SQL语句组分解为逻辑块,并明确规定数据何时应该回退,合适不应该回退。

2.1、使用ROLLBACK

DELETE FROM ORDERS;
ROLLBACK;
--SQL的ROLLBACK命令用来回退(撤销)SQL语句

2.2、使用COMMIT

BEGIN TRANSCTION
DELETE ORDERITEMS WHERE ORDER_NUM=12345
DELETE ORDERS WHERE ORDER_NUM=12345
COMMIT TRANSACTION
--再这个SQL Server例子中,从系统中完全删除订单12345。因为涉及更新数据库表orders和orderitems,
所以使用事务处理块来保证订单不被部分删除。最后的commit语句仅在不出错时写出更改。

2.3、使用保留点

使用简单的ROLLBACK和COMMIT语句,就可以写入或撤销整个事务。但是,只对简单的事务才能这样做,复杂的事务可能需要部分提交或回退。
要支持回退部分事务,必须再事务处理块中的合适位置放置占位符。这样,如果需要回退,可以回退到某个占位符。

在SQL Server中,如下进行

SAVE TRANSANCTION delete1;
ROLLBACK TRANSACTION delete1;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值