码迷,mamicode.com
首页 > 数据库 > 详细

Oracle基础 事务

时间:2015-01-07 16:23:42      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:

一、事务

  事务就是业务上的一个逻辑单元,它能够保证其中对数据所有的操作,要么全部成功,要么全部失败。

 

二、事务的特性:

  1、原子性:事务是SQL中的最小执行单位,不能再进行分割。

  2、一致性:SQL语句要么全部执行,要么全部不执行。

  3、隔离性:事务之间是相互隔离的,多个事务不会相互影响。

  4、持久性:当事务提交后,数据则永久有效。

 

三、事务控制语句:

  1、COMMIT:提交事务,对数据库的修改进行保存。

  2、ROLLBACK:回滚事务,取消对数据库所做的修改。

  3、SAVEPOINT:在事务中创建存储点。

  4、ROLLBACK TO <SAVEPOINT>:将事务回滚到存储点。

  5、SET TRANSACTION:设置事务的属性。

 

四、使用事务的步骤:

  1、开启事务。在Oracle中,事务是在上一次事务结束以后,数据“第一次”被修改时自动开启。

  2、进行(多次)数据操作(增、删、改)。

  3、结束事务:事务结束有两种情况.

    (1)事务被提交:

      a.发出COMMIT命令。

      b.执行DDL语句。输入DDL语句后当前事务自动被提交。

      c.与Oracle分离,或退出PL/SQL Developer。

    (2)数据被撤销:

      a.发出ROOLBACK命令.

      b.服务器进程异常结束。

      c.DBA停止会话。

  

  例:操作dept表:  

INSERT INTO dept VALUES(50,a,NULL);      --插入两条记录
INSERT INTO dept VALUES(60,b,NULL); 
SAVEPOINT a;                                --设置保存点
INSERT INTO dept VALUES(70,c,NULL);      --插入新的数据
ROLLBACK TO SAVEPOINT a;                   --回到保存点a,则保存点后的SQL语句失效。
select * FROM dept;                         --插入c的值没有了。
ROLLBACK;                                   --回滚事务,插入的a和b的值也没有了。
SELECT * FROM dept;

 

Oracle基础 事务

标签:

原文地址:http://www.cnblogs.com/zhengcheng/p/4208658.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!