Oracle中的事务之savepoint

Oracle中的事务之savepoint

定义

保存点(savepoint)是事务过程中的一个逻辑点,我们可以把事务回退到这个点,而不必回退整个事务。

语法

savepoint savepoint_name
这个命令就是在事务语句之间创建一个保存点。rollback命令可以撤销一组事务操作,而保存点可以将大量事务操作划分为较小的,更易于管理的组。

注意点

在相应的事务操作组里,保存点的名称必须是唯一的,但其名称可以与表或其他对象的名称相同,保存点名称的设置 属于个人喜好,它只被数据库开发人员用来管理事务操作组。

release savepoint命令

这个命令用于删除创建的保存点。在某个保存点被释放之后,就不能再利用rollback命令来撤销这个保存点之后的事务操作了。利用这个命令可以避免意外地回退到某个不再需要的保存点。
release savepoint savepoint_name;
 
一、基本概念
保存点savepoint是事务中的一点,通过rollback可以返回到
某个保存点。一个事务中可以有多个保存点。一旦事务提交,
该事务中的保存点会自动被删除,那么无论刚才做了多少个
保存点,都统统没有了。

SQL> savepoint sp;
 
Savepoint created
 
SQL> delete from mytable;
 
15 rows deleted
 
SQL> rollback to sp;
 
Rollback complete
 
SQL> select count(*) from mytable;
 
  COUNT(*)
----------
        15
删除操作就被回退了。
 
二、详解
事务的几个重要操作
1 设置保存点 savepoint a 
2 取消部分事务 rollback to a 
3 取消全部事务 rollback
若执行SQL> commit;提交操作,则该事务中所有保存点都不存在了。
如果没有手动执行commit而是exit会自动提交。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值