ITPub博客

首页 > 数据库 > Oracle > 32_事务概述

32_事务概述

原创 Oracle 作者:哎呀我的天呐 时间:2014-12-01 14:20:08 0 删除 编辑

                   对oracle来讲最重要的就是事务的一致性,数据安全。数据库一致性是重中之重。

执行的第一条DML语句就是事务的开始。
数据库当前没有事务:

16:32:37 SQL> select xidusn,ubafil from v$transaction;
no rows selected


scott插入一条数据:

16:34:42 SQL> insert into t_action values (\'INSERT\' , sysdate);
1 row created.
Elapsed: 00:00:00.00

这里便有了事务:

16:33:11 SQL> select xidusn , ubafil from v$transaction;
    XIDUSN     UBAFIL
---------- ----------
    10        2
Elapsed: 00:00:00.00
16:35:10 SQL> select * from t_action;
ACTION_NAME               ACTION_TIME
------------------------------ ------------
delete                   24-NOV-14
INSERT                   24-NOV-14
Elapsed: 00:00:00.00
16:38:49 SQL> alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss';
Session altered.
Elapsed: 00:00:00.00
16:39:55 SQL> select * from t_action;
ACTION_NAME               ACTION_TIME
------------------------------ -------------------
delete                   2014-11-24 04:32:25
INSERT                   2014-11-24 16:35:10
Elapsed: 00:00:00.01
16:40:01 SQL> update t_action set ACTION_NAME = 'aaaa' where ACTION_TIME = to_date('2014-11-24 04:32:25');
1 row updated.



这两个DML同是一个事务。
rollback,commit 结束事务。

savepoint x1;
rollback to savepoint x1;

会话正常退出是commit;
异常退出是commit;(在有些环境也会rollback  不同环境有可能不同)


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29990276/viewspace-1352746/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
https://cloud.tencent.com/developer/inventory/14362

注册时间:2014-10-30

  • 博文量
    403
  • 访问量
    2528714