您的位置:首页 > 数据库 > Oracle

Oracle事务控制总结

2010-07-10 14:47 330 查看
一、Oracle事务控制:
1、组成单个逻辑工作单元的一系列操作被称为事务。
2、数据库事务组成:
1、0~多条DML语句
2、1条DDL(Data Define Language)语句
3、1条DCL(Data Control Language)语句
3、事务特性(ACID):
-原子性(Atornicity)
-一致性(Consistency)
-隔离性(Isolation)
-持久性(Durability)
4、事务的开始和结束
   1、事务开始于第一条可执行语句
   2、事务结束:
    -遇到commit 或rollback语句
    -遇到DDL 或DCL语句
    -用户会话结束
    -系统崩溃
  5、事务的提交和回滚
   显式的提交和回滚操作是为了更好的保证数据的一致性,下述情况下事务会被自动提交:
    -执行一个DDL语句
    -执行一个DCL语句
    -正常结束会话
    -会话异常终止/系统崩溃时事务被自动回滚
6、提交/回滚前数据状态
    -当前事务中数据状态的改变是可以恢复的
    -当前事务中的DML操作结果只对当前用户(会话)可见,其它用户(会话)看不到当前事务中数据状态的改变,直到当前事务结束。
    -当前事务中DML语句所涉及到的行被锁定,其它用户(会话)不能对其进行修改操作。
7、事务提交后数据状态
    -数据的修改永久生效,不可再撤消
    -数据以前的状态永久丢失,无法恢复
    -所有的用户(会话)都将看到操作后的结果
    -记录锁被释放,其它用户可对这些进行修改操作
    -事务中的保存点(savepoints)被清除
8、事务回滚后数据状态
    -数据的修改被撤消
    -数据恢复到修改前的状态
    -记录锁被释放
9、保存点
   ---通过保存点在当前的事务中创建标记,将来可回退到指定的标记(保存点)处,实现事务的部分回滚。
    ---用法举例
      insert into dept values (22,'adf','BeiJing');
      insert into dept values (23,'fda','Shanghai');
       savepoint p1;
       insert into dept values (24,'gdf','Tianjing');
       select * from dept;
      rollback to p1;
      select * from dept;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: