zoukankan      html  css  js  c++  java
  • oracle中的事务

     事务

    概述:通过sql 对数据库进行操作时,同时执行成功或失败,且数据完整性一致。

    链接到oracle的用户(例如plsql或sqlplus)会形成一个session, 此时对数据库的更新操作,不会立即修改数据,不提交的情况下,可以进行回滚操作。 

    rollback  回滚事务(数据被提交将无法回滚)

    commit  提交事务

     例如:rollback  

    ----查询结果是王五

    > select * from table where    name='王五'; 

    -----王五更新成李四

    > update  table  set  name='李四'  where  name='王五';

    ----再次查询王五,查不到数据;-查询李四可以查询到数据

    > select * from table where    name in ('王五', '李四');

    ---此时进rollback操作,回滚数据

      > rollback;

    ---查询王五可以查到结果,查询李四查不到数据

    >  select * from table where    name in ('王五', '李四');

     例如:commit  

    ----查询结果是王五

    > select * from table where    name='王五'; 

    -----王五更新成李四

    > update  table  set  name='李四'  where  name='王五';

    ----再次查询王五,查不到数据;-查询李四可以查询到数据

    > select * from table where    name in ('王五', '李四');

    ---此时进commit操作,回滚数据

      > commit;

    ---查询王五可以查不到结果,查询李四查到数据

    >  select * from table where    name in ('王五', '李四');

    ---进行回滚

    > rollback;

    ---在查询数据,发现查询结果还是李四,说明已经提交数据修改,无法回滚

    >  select * from table where    name in ('王五', '李四');

    死锁

     多用户同时修改一条数据,且最先修改数据的那个用户的session未提交数据,则其他用户的session无法修改这条数据,一直处于等待对方commit后

    不怨天,不尤人;不迁怒,不贰过. 人一能之,己百之;人十能之,己千之. 做事要细心、热情、阳光,江湖处事就是人情世故。
  • 相关阅读:
    Alfred上可提高工作效率的Workflow推荐
    局部性原理——各类优化的基石
    持续学习——程序猿的军备竞赛
    http://regex.alf.nu/ 非标准答案
    13总结
    Ubuntu下python安装mysqldb(驱动)
    北大ACM试题分类+部分解题报告链接
    poj 3253 Fence Repair(优先队列+huffman树)
    Centos/Fedora下安装Twisted,failed with error code 1 in /tmp/pip-build-H1bj8E/twisted/解决方法
    关于command 'gcc' failed with exit status 1 解决方法
  • 原文地址:https://www.cnblogs.com/rxzhang666/p/10177127.html
Copyright © 2011-2022 走看看