oracle数据库事务相关【weber出品必属精品】
事务的概念:
事务:一个事务由一组构成一个逻辑操作的DML语句组成事务有开始有结束,事务以DML语句开始,以Conmmit和Rollback结束。
以下情况会使得事务结束:1. 执行COMMIT 或者 ROLLBACK 语句
2. 执行DDL或者 DCL语句
3. 用户退出
4. 系统崩溃
- 一个事务可以包含下列语句:
1. 对数据做出一致性修改的DML语句
2. 一个 DDL 语句
3. 一个 DCL语句
- DDL与和DCL语句执行的过程:
1. 首先发出COMMIT;
2. 执行对数据字典的DML操作
3. 如果成功,commit,如果失败,rollback
- 保证数据的一致性:没有提交的数据,其他的用户看不到
在数据永久改变之前,检查数据的改变
对逻辑相关的操作进行分组
- 控制事物:保存点(savepoint)
SQL> select * from t; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ------ --------- ----- --------- ----- ----- ------
ALLEN SALESMAN -DEC-
y
w SQL> savepoint s1; Savepoint created. SQL> insert into t (empno,ename) values(,'b'); row created. SQL> savepoint s2; Savepoint created. SQL> delete t; rows deleted. SQL> select * from t; no rows selected SQL> rollback to savepoint s2; Rollback complete. SQL> select * from t; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ------ --------- ----- --------- ----- ----- ------
ALLEN SALESMAN -DEC-
y
w
b SQL> rollback to savepoint s1; Rollback complete. SQL> select * from t; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ------ --------- ----- --------- ----- ----- ------
ALLEN SALESMAN -DEC-
y
w ----这里要注意了啊,因为rollback到了的s1这个保存点,也就不可以在rollback到s2这个保存点---因为s1中这个保存点没有记录到s2保存点的信息----
SQL> rollback to savepoint s2;
rollback to savepoint s2
*
ERROR at line :
ORA-: savepoint 'S2' never established
oracle数据库事务相关【weber出品必属精品】的更多相关文章
- 全世界最详细的图形化VMware中linux环境下oracle安装(二)【weber出品必属精品】
<ORACLE 10.2.05版本的升级补丁安装> 首先我们解压 $ unzip p8202632_10205_LINUX.zip 解压后我们会发现多出了个文件夹,他是:Disk1,进入D ...
- 全世界最详细的图形化VMware中linux环境下oracle安装(一)【weber出品必属精品】
安装流程:前期准备工作--->安装ORACLE软件--->安装升级补丁--->安装odbc创建数据库--->安装监听器--->安装EM <前期准备工作> 安装 ...
- 创建和管理表【weber出品必属精品】
创建表 必须有 : 1. CREATE TABLE 的权限 SQL> conn /as sysdba 已连接. SQL> create user test default tablespa ...
- 静默安装ORACLE【weber出品必属精品】
安装配置系统环境安装linux ,所有服务都不选择,只是选择安装开发工具,不要安装防火墙(当然也可以在后面关闭) 打开终端,执行如下命令,检查安装包,没有的都要安装 make, glibc, liba ...
- 全世界最详细的图形化VMware中linux环境下oracle安装(三)【weber出品必属精品】
数据库软件和数据库都建好了,基本上可以说完成90%的工作,但是美中不足的就是企业管理器还没有安装好,现在我们就开始安装企业管理器吧. 安装之前我们先将补丁给补上.补丁我们也是采用禁默安装.补丁:p83 ...
- 数据库对象(视图,序列,索引,同义词)【weber出品必属精品】
视图视图的定义:视图就是一个查询的别名为什么使用视图限制数据的存取 SQL> conn /as sysdba 已连接. SQL> grant create view to scott; 授 ...
- linux删除ORACLE【weber出品必属精品】
关闭数据库 sqlplus / as sysdba shutdown abort 清除oracle软件 su - oracle cd $ORACLE_BASE rm -rf * rm -rf /etc ...
- ORACLE SQL单行函数(三)【weber出品必属精品】
16.L:代表本地货币符,这个和区域有关.这个时候我们想来显示一下人民币的符号:¥ $ vi .bash_profile ---写入如下内容: export NLS_LANG='SIMPLIFIED ...
- ORACLE SQL单行函数(一)【weber出品必属精品】
1.SUBSTR:求父串中的子串 SUBSTR('HelloWorld',1,5) 1:代表子串的起始位置,如果为正,正数,如果为负,倒数 5:代表字串的终止位置,只能向右数,可以省略,如果省略就是数 ...
随机推荐
- 网站压缩数据 GZIP
//1.被压缩数据 String str="Hello 你好Hello 你好Hello 你好Hello 你好Hello 你好Hello 你好Hello 你好Hello 你好Hello 你好H ...
- C++中的析构函数
代码: #include <cstdio> #include <iostream> using namespace std; class A{ public: ~A(){ co ...
- POJ 1064 Cable master(二分查找+精度)(神坑题)
POJ 1064 Cable master 一开始把 int C(double x) 里面写成了 int C(int x) ,莫名奇妙竟然过了样例,交了以后直接就wa. 后来发现又把二分查找的判断条 ...
- QT小插件类之QRoundProgressBar
QRoundProgressBar类 1. 详细描述 QRoundProgressBar类能够实现一个圆形的进度图表,并且有和QProgressBar类似的API接口 1.1 继承关系 #includ ...
- 你好,C++(6)2.3 C++兵器谱
2.3 C++兵器谱 正所谓“工欲善其事,必先利其器”,而要想做好C++程序设计,自然也离不开几件像样的兵器.下面我们就来看看C++兵器谱上有哪些神兵利器值得我们学习掌握.排在兵器谱上首要位置的就是 ...
- uva 10963 - The Swallowing Ground
#include <iostream> #include <cstdio> #include <cstdlib> #include <set> usin ...
- C++ 完美破解九宫格(数独)游戏
看到CSDN上有位大神用C#写了一个破解数独的程序(点击打开链接),不过我对C#也不懂,比较喜欢C++,就用标准C++也写了一个,希望各位喜欢.三纯程序,纯控制台程序,纯各人爱好,纯算法程序,无win ...
- Guava 15新特性介绍
原文:http://www.javacodegeeks.com/2013/10/guava-15-new-features.html Guava 是众所周知的google出品的开源工具包,十分好用,本 ...
- My SQL 常用函数
一.数学函数 数学函数主要用于处理数字,包括整型.浮点数等. ABS(x) 返回x的绝对值 SELECT ABS(-1) -- 返回1 CEIL(x),CEILING(x) 返回大于或等于x的最小整数 ...
- 算法导论之python实现插入排序
插入排序的花费时间 c*n2, c 是常数 伪代码 INSERTION-SORT(A) for i to A.length key = A[j] //Insert A[j] into the sor ...