oracle 基础知识(五)--回滚(commit和rollback)
一,commit
01,commit干了啥
commit 就是提交的意思.也就是当你把99%的东西都做好了,然后你执行最后一步的操作...再commit前的话你可能啪啪啪啪啪,敲了几百条sql DML或者DML语句. 然后你可能自己select 或许desc一下,看见了自己的成果,但是其他用户任然看不到.当你comiit执行一下后,其他用户才能看见.
02. commit的发生了什么
1)服务器为每个COMMIT产生一个SCN。使改变永久化;
2)LGWR进程将日志缓冲区数据并带有SCN一起写到重做日志文件;
3)服务器释放表级和行级锁;
4)用户被提示COMMIT完成;
5)服务器使事务已完成。
03.实例
A.B个连接进数据库服务器,数据内容都一致显示
SQL> select * from t1; A B
---------- ----------
aaaaa aaaaa
12345 67890
A连接里面操作
SQL> insert into t1 values('qqq','qqq');
SQL> insert into t1 values('qqq','qq121');
2 row created.
B.连接查看会发现数据没有变化
提交数据,commit
----------
刚刚吃炸鸡(感谢霍哥的炸鸡 QaQ )
吃的太开心数据忘记提交了,
------------


数据没了,这就是没有commit的后果 ,大家一定要记住
重新来一遍

commit
提交完成后另外一个肯定可以查到了
二, rollback
01,rollback
回退的意思,比如你用update更新表中一条记录,这时你查询这个表时,则发现表已经更新(注意这个指示你觉得更新了,再没有commit之前);再rollback后,你再查询表时,发现表还是更新之前的样子。等同于你再写word文档的时候,哪里错了,习惯来一个CRTL+Z 撤销.但是加入你保存了文档并且退出去了,重新打开,你就不能撤销操作了
02,rollback 处理的顺序
1)服务器进程不做任何的改变。
2)服务器释放表级和行级锁。
3) 服务器使事务已完成。
03,实例
SQL> insert into t1 values('qqq','qqq'); ---插入数据
1 row created.
SQL> select * from t1; ----第一次查询
A B
---------- ----------
aaaaa aaaaa
12345 67890
qqq qqq
SQL> savepoint a ---保存一个回滚点
2 ;
Savepoint created.
SQL> insert into t1 values('qqq','qq121');---- 再次做插入
1 row created.
SQL> savepoint b; ----保存第二个回滚点
Savepoint created.
SQL> delete t1 where A = 'qqq'; ---- 删除 数据
2 rows deleted.
SQL> select * from t1; ----查询的时候发现没有了
A B
---------- ----------
aaaaa aaaaa
12345 67890
SQL> rollback to B; ---回滚操作
Rollback complete.
SQL> select * from t1; ---再次查询,回滚成功
A B
---------- ----------
aaaaa aaaaa
12345 67890
qqq qqq
qqq qq121
三,两者之间的事宜
01,两者只对insert、update、delete(DML数据操纵语句)操作有效
02,先commit再rollback,则rollback相当于不起作用。
03,若现delete再select再rollback,,则rollback会撤回delete操作。
04,其他用户查询你的表示看到的是最后一次commit之后的表,而你看到的是最新操作的表。
oracle 基础知识(五)--回滚(commit和rollback)的更多相关文章
- Oracle基础知识汇总一
Oracle基础知识 以下内容为本人的学习笔记,如需要转载,请声明原文链接 https://www.cnblogs.com/lyh1024/p/16720759.html oracle工具: SQ ...
- 图说Oracle基础知识(一)
本文主要对Oralce数据库操作的基础知识进行一下梳理,以便进行归纳总结.适用于未使用过Oracle数据库的读者,或需要学习Oracle数据库方面的基础知识.如有不足之处,还请指正. 关于SQL介绍的 ...
- oracle 基础知识(十五)----高水位线
一,oracle的逻辑存储管理 ORACLE的逻辑存储管理,分4个粒度:表空间,段,区和块. ## 块 粒度最小的存储单位,现在标准的块大小是8K,ORACLE每一次I/O操作也是按块来操作的,也就是 ...
- Oracle 基础知识入门
前记: 近来项目用到Oracle数据库,大学学了点,后面基本忘记得差不多了,虽然基本语法跟sql 差不多,但是oracle知识是非常多的. 这里简单说点基础知识,希望后面补上更多的关于ORacle知识 ...
- oracle基础知识过一遍(原创)
用户.角色.权限.表空间 create tablespace test1_tablespace datafile ‘test1file.dbf’ size 10m; create temporary ...
- oracle 基础知识(三)--SCN
一,SCN的介绍 SCN(System Change Number),也就是通常所说的系统改变号或者系统提交号,是数据库中非常重要的一个数据结构. SCN用以标识数据库在某个确切时刻提交的版本 ...
- [转载]Oracle基础知识
一.oracle安装过程略 二.sys用户和system用户 (1)sys用户是超级用户,具有最高权限,具有sysdba角色,有create database的权限 默认密码是change_onins ...
- oracle基础知识(六)----spfile与pfile
一, 认识参数文件 Oracle中的参数文件是一个包含一系列参数以及参数对应值的操作系统文件.它们是在数据库实例启动时候加载的,决定了数据库的物理 结构.内存.数据库的限制及系统大量的默认值 ...
- oracle基础知识语法大全
ORACLE支持五种类型的完整性约束NOT NULL (非空)--防止NULL值进入指定的列,在单列基础上定义,默认情况下,ORACLE允许在任何列中有NULL值.CHECK (检查)--检查在约束中 ...
随机推荐
- LIRE教程之源码分析 | LIRE Tutorial of Analysis of the Source Code
LIRE教程之源码分析 |LIRE Tutorial of Analysis of the Source Code 最近在做地理图像识别和检索的研究,发现了一个很好用的框架LIRE,遂研究了一通.网上 ...
- GitHub小技巧-定义项目语言
GitHub是根据项目里文件数目最多的文件类型,识别项目类型.后端项目难免会包含前端的资源,有时候就会被标记成前端语言,因为项目里 css 等文件比较多, 被误识别成css项目. GitHub不提供指 ...
- springcloud集成swaggerui做动态接口文档
1.配置文件pom,一定要使用2.4以上的,2.4默认请求方式是json,会导致getmapping设置参数类型对对象时,swaggerui界面不能指定为其他类型,反正就是各种坑,不建议用 <d ...
- android 仿QQ气泡聊天界面
1.现在的QQ,微信等一些APP的聊天界面都是气泡聊天界面,左边是接收到的消息,右边是发送的消息, 这个效果其实就是一个ListView在加载它的Item的时候,分别用了不同的布局xml文件. 2.效 ...
- 合并datagridview 条件合并行数据
public void HeBing() { int rowsCount; int CellCount; rowsCount = FG1.Rows.Count; CellCount = FG1.Col ...
- RequireJS 主入口加载模块经常会加载失败的问题
在接入requirejs时,在main入口遇到了这样的问题,使用jquery,刷新10次页面会有3-4次加载失败,找不到$符号等等 require.config({ 'baseUrl': './mod ...
- WebService 天气预报webservice接口
WebService 天气预报webservice接口 地址:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx 常用接口: 1. ...
- 基于Haar特征的Adaboost级联人脸检测分类器
基于Haar特征的Adaboost级联人脸检测分类器基于Haar特征的Adaboost级联人脸检测分类器,简称haar分类器.通过这个算法的名字,我们可以看到这个算法其实包含了几个关键点:Haar特征 ...
- day8学python 各种简单模板
各种简单模板 内容: 1.shelve模板 存储数据 2.shutil 模板 用作拷贝/删除/压缩文件(使用便捷) 3.hashlib 模板 加密文件 4.re模板 ================= ...
- 20165219 2017-2018-2 《Java程序设计》第5周学习总结
20165219 2017-2018-2 <Java程序设计>第5周学习总结 课本知识总结 第7章 内部类与异常类 一 1 内部类:类的一种成员 2 外嵌类:包含内部类的类称为内部类的外嵌 ...