Oracle 回滚详解(rollback)
文章目录
- 1 概述
- 2 语法
- 2.1 rollback
- 2.2 rollback to savepoint xx
- 2.3 rollback work force 'string'
- 3 扩展
- 3.1 rollback 官方解释
1 概述
2 语法
可选子句解释:
关键字 | 解释 | 备注 |
---|---|---|
work | 为实现SQL标准兼容性而提供的 | 写与不写,结果都一样 |
to savepoint clause | 将当前事务回滚至 clause | 若省略该子句,则当前事务都会被回滚 |
force string | 仅回滚指定的分布式事务,不会对当前的事务产生影响 | string:事务 id,可通过 dba_2pc_pending 进行查询 |
基础数据准备:
-- 学生信息表
create table student_info (sno number(10) constraint pk_student_info_sno primary key,name varchar2(30),sex varchar2(2)
);
2.1 rollback
-- *****************************************************************
-- 直接 回滚 事务
-- *****************************************************************
declare
begininsert into student_info (sno, name, sex) values (1, '张三', '女');insert into student_info (sno, name, sex) values (2, '李四', '男');rollback;
end;
运行结果:全部回滚,无数据写入数据库
2.2 rollback to savepoint xx
-- *****************************************************************
-- 1. savepoint xx: 回滚到回滚点 xx
-- 2. 若回滚点同名,则回滚至最近的一个回滚点(不建议同名,不方便排查问题)
-- *****************************************************************
declare
begininsert into student_info (sno, name, sex) values (1, '张三', '女');savepoint sp1;insert into student_info (sno, name, sex) values (2, '李四', '女');savepoint sp2; -- 若也是 ps1,则回滚至此处(最近)-- 模拟报错:违反唯一性约束insert into student_info (sno, name, sex) values (2, '王五', '男');savepoint sp3;commit;
exception when others thenrollback to sp1;-- 报错信息dbms_output.put_line(dbms_utility.format_error_backtrace);dbms_output.put_line(sqlcode ||' : ' || sqlerrm);commit;
end;
运行结果:
2.3 rollback work force ‘string’
1. 使用场景(1) 分布式事务2. 具体操作(1) select * from dba_2pc_pending; -- 查询(2) rollback work force '25.32.87'; -- 回滚
3 扩展
3.1 rollback 官方解释
- Oralce 官方解释:rollback
Oracle 回滚详解(rollback)相关推荐
- java 事务回滚注解_Java Spring 事务回滚详解
这篇文章主要介绍了java Spring事务回滚的相关资料,需要的朋友可以参考下 spring 事务回滚 1.遇到的问题 当我们一个方法里面有多个数据库保存操作的时候,中间的数据库操作发生的错误.伪代 ...
- oracle回滚断查询,Oracle回滚段使用查询代码详解
大批量执行DML语句造成回滚段大量占用,又回退操作,如何直观查询数据回滚情况? 单机环境 查询回滚执行进度 sql;"> select /*+ rule */s.sid,r.name ...
- ORACLE 回滚段详解
ORACLE 回滚段 回滚段概述 回滚段用于存放数据修改之前的值(包括数据修改之前的位置和值).回滚段的头部包含正在使用的该回滚段事务的信息.一个事务只能使用一个回滚段来存放它的回滚信息,而一个 ...
- Oracle 闪回技术详解
概述 闪回技术是Oracle强大数据库备份恢复机制的一部分,在10g的时候就被推出一直延续到现在.在数据库发生逻辑错误的时候,闪回技术能提供快速且最小损失的恢复(多数闪回功能都能在数据库联机状态下完成 ...
- Oracle闪回技术详解
Oracle的闪回技术提供了一组功能,可以访问过去某一时间的数据并从人为错误中恢复.闪回技术是Oracle 数据库独有的,支持任何级别的恢复,包括行.事务.表和数据库范围.使用闪回特性,您可以查询以前 ...
- oracle闪回数据库详解
--- 说明闪回数据库 --- 使用闪回表将表内容还原到过去的特定时间点 --- 从删除表中进行恢复 --- 使用闪回查询查看截止到任一时间点的数据库内容 --- 使用闪回版本查询查看某一行在一段时间 ...
- oracle 闪回功能详解
Oracle的闪回技术提供了一组功能,可以访问过去某一时间的数据并从人为错误中恢复.闪回技术是Oracle 数据库独有的,支持任何级别的恢复,包括行.事务.表和数据库范围.使用闪回特性,可以查询以前的 ...
- oracle 闪回表定义,oracle闪回表详解
--- 说明闪回数据库 --- 使用闪回表将表内容还原到过去的特定时间点 --- 从删除表中进行恢复 --- 使用闪回查询查看截止到任一时间点的数据库内容 --- 使用闪回版本查询查看某一行在一段时间 ...
- Oracle 闪回特性 详解
Oracle的闪回技术提供了一组功能,可以访问过去某一时间的数据并从人为错误中恢复.闪回技术是Oracle 数据库独有的,支持任何级别的恢复,包括行.事务.表和数据库范围.使用闪回特性,您可以查询以前 ...
最新文章
- 商品规格可选怎么设计_商品模块数据库表解析(一)
- 数据结构: 顺序存储二叉树
- aws v2.2.exe_如何使用Python 3.6在AWS EC2上创建运行uWSGI,NGINX和PostgreSQLDjango服务器...
- WinForms多线程编程之摇奖程序
- Godaddy Windows主机组件支持情况
- Android中的事件分发和处理
- Java Web学习笔记07:数据源、JavaBean与MVC模式
- 为什么线程池里的方法会执行两次_别以为线程池很简单,来回答下这些问题!...
- Spring学习笔记3——使用注解的方式完成注入对象中的效果
- 【分布式】Zookeeper序列化及通信协议
- Java vbnullstring_VB中Null、Empty、Nothing及vbNullString的区别
- 摇杆控制方向原理_摇杆电位器原理及结构
- import cv2
- matlab统计所有股票分析,MATLAB金融算法分析实战:基于机器学习的股票量化分析...
- 百度B端战事渐入佳境
- 春招笔记(十一)--设计模式
- 2018阿里巴巴全球诸神之战创客大赛总决赛即将举行
- 中科红旗之死--国产软件界最大不幸
- 972信息检索 | 第九章 网络信息检索与利用中的有关问题
- AOP相关术语(连接点、切入点、通知、引介、目标对象、织入、代理、切面)