1. 事务的概念:
    事务:一个事务由一组构成一个逻辑操作的DML语句组成

    事务有开始有结束,事务以DML语句开始,以Conmmit和Rollback结束。
    以下情况会使得事务结束:

    1. 执行COMMIT 或者 ROLLBACK 语句

    2. 执行DDL或者 DCL语句

    3. 用户退出

    4. 系统崩溃

  2. 一个事务可以包含下列语句:

    1. 对数据做出一致性修改的DML语句

    2. 一个 DDL 语句

    3. 一个 DCL语句

  3. DDL与和DCL语句执行的过程:

    1. 首先发出COMMIT;

    2. 执行对数据字典的DML操作

    3. 如果成功,commit,如果失败,rollback

  4. 保证数据的一致性:没有提交的数据,其他的用户看不到

    在数据永久改变之前,检查数据的改变

    对逻辑相关的操作进行分组

  5. 控制事物:保存点(savepoint)
  6. 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出品必属精品】的更多相关文章

  1. 全世界最详细的图形化VMware中linux环境下oracle安装(二)【weber出品必属精品】

    <ORACLE 10.2.05版本的升级补丁安装> 首先我们解压 $ unzip p8202632_10205_LINUX.zip 解压后我们会发现多出了个文件夹,他是:Disk1,进入D ...

  2. 全世界最详细的图形化VMware中linux环境下oracle安装(一)【weber出品必属精品】

    安装流程:前期准备工作--->安装ORACLE软件--->安装升级补丁--->安装odbc创建数据库--->安装监听器--->安装EM <前期准备工作> 安装 ...

  3. 创建和管理表【weber出品必属精品】

    创建表 必须有 : 1. CREATE TABLE 的权限 SQL> conn /as sysdba 已连接. SQL> create user test default tablespa ...

  4. 静默安装ORACLE【weber出品必属精品】

    安装配置系统环境安装linux ,所有服务都不选择,只是选择安装开发工具,不要安装防火墙(当然也可以在后面关闭) 打开终端,执行如下命令,检查安装包,没有的都要安装 make, glibc, liba ...

  5. 全世界最详细的图形化VMware中linux环境下oracle安装(三)【weber出品必属精品】

    数据库软件和数据库都建好了,基本上可以说完成90%的工作,但是美中不足的就是企业管理器还没有安装好,现在我们就开始安装企业管理器吧. 安装之前我们先将补丁给补上.补丁我们也是采用禁默安装.补丁:p83 ...

  6. 数据库对象(视图,序列,索引,同义词)【weber出品必属精品】

    视图视图的定义:视图就是一个查询的别名为什么使用视图限制数据的存取 SQL> conn /as sysdba 已连接. SQL> grant create view to scott; 授 ...

  7. linux删除ORACLE【weber出品必属精品】

    关闭数据库 sqlplus / as sysdba shutdown abort 清除oracle软件 su - oracle cd $ORACLE_BASE rm -rf * rm -rf /etc ...

  8. ORACLE SQL单行函数(三)【weber出品必属精品】

    16.L:代表本地货币符,这个和区域有关.这个时候我们想来显示一下人民币的符号:¥ $ vi .bash_profile ---写入如下内容: export NLS_LANG='SIMPLIFIED ...

  9. ORACLE SQL单行函数(一)【weber出品必属精品】

    1.SUBSTR:求父串中的子串 SUBSTR('HelloWorld',1,5) 1:代表子串的起始位置,如果为正,正数,如果为负,倒数 5:代表字串的终止位置,只能向右数,可以省略,如果省略就是数 ...

随机推荐

  1. alter database open resetlogs

    使用resetlogs选项,会把当前的日志序号(log sequence number)重设为1,并抛弃所有日志信息.在以下条件时需要使用resetlogs选项: 在不完全恢复(介质恢复): 使用备份 ...

  2. 服务器端操作Cookie[2]

    服务器端操作Cookie,主要注意会使用以下三个类: HttpCookie,HttpResponse,HttpRequest 关于HttpCookie: 属性 描述 例子 Domain 获取或设置与此 ...

  3. spring 学习 AOP和IOC

    自11开始接触三大框架,至今已俞5载, 当时风光无限的ssh,现在还在被广泛使用,并有扩大之势的只有spring了 spring主要特性,是广为使用的AOP(面向切面)和IOC(控制反转) 1.其中, ...

  4. 从一个PHP数据生成 CSV 文件

    这的确是一个很简单的功能,从一个PHP数组生成一个.csv文件.此函数使用 fputcsv PHP 内置函数 <? function generateCsv($data, $delimiter ...

  5. python中os.walk()遍历目录中所有文件

    之前一直用判断目录和文件的递归方法来获取一个目录下的所有文件,后来发现python里面已经写好了这个函数,不需要自己递归获取了,记录下os.walk()函数的用法 目的:获取path下所有文件,返回由 ...

  6. Android高清巨图加载方案

    1.今天看了鸿洋的<Android高清巨图加载方案>一文,对加载高清巨图时的解决方案有了一定的认识. 思路为: 提供一个设置图片的入口. 重写onTouchEvent,在里面根据用户移动的 ...

  7. linux内核学习之一:环境搭建--安装Debian7.3

    本系列文章假设读者已对linux有一定的了解,其实学习linux内核不需要有很深的关于linux的知识,只需要了解以下内容:linux基础知识及基本shell命令:现代操作系统的基本概念:C语言和gc ...

  8. Lintcode--001(比较字符串)

    比较两个字符串A和B,确定A中是否包含B中所有的字符.字符串A和B中的字符都是 大写字母 注意事项 在 A 中出现的 B 字符串里的字符不需要连续或者有序. 您在真实的面试中是否遇到过这个题? Yes ...

  9. gitosis使用笔记

    gitosis是Git下的权限管理工具,通过一个特殊的仓库(gitosis-admin.git)对Git权限进行管理. 1:服务端安装并配置gitosis (1)通过以下方式获取到安装包 root@w ...

  10. Codeforces 526E Transmitting Levels

    http://codeforces.com/contest/526/problem/E 题意:给一个环,每个点有权值,每次给一个数B,求把这个环切割成若干部分,每个部分不超过B,至少要切成几块? #i ...