我是新手。自己看书学的数据库,用的Oracle。
两个事务并发执行这一点,看不大懂。各位高手能不能给个程序实例解说一下?
谢谢哈!

解决方案 »

  1.   

    每启动一个事务,系统会给该事务生成一个scn,这个scn是唯一的,而且是不断增加的。
    每个事务都只会去操作比这个scn小的数据。这样就保证了数据的一致性。所以各个事务互不影响。
      

  2.   

    怎么样才算是一个事务呢?
    是通过命名,还是通过commit或者rollback?
    在代码上要怎么实现?
    Oracle貌似是不用 begin transaction来定义事务的,直接用commit和rollback就行。SQL>  UPDATE Students 
      2   SET SNAME='林跃'
      3   where SNO='0409011';已更新 1 行。SQL> commit;提交完成。SQL> UPDATE Students 
      2  SET SNAME='林跃'
      3  ;已更新7行。SQL> rollback;回退已完成。不过我不明白是不是一次commit或者rollback就算是一次事务。。如果不是,那怎么样才算是。。
    像上面这个,是算一个事务还是两个事务。。
    如果要两个事务交错执行,又该怎么写代码。。我有点晕乎了,能举个简单的例子给我说明一下吗?
      

  3.   

    有种是隐式的事务,其中select 就是属于这种,可以这样理解。
      

  4.   

    书上讲事务这一块是包含在数据库恢复技术这一章里的,就简单地介绍了一小节。
    定义事务的语法是用的begin transaction commit rollback。。
    具体实现没怎么说。哎,我就是想要一个程序例子看看。
    对了,我是用的Oracle SQL*Plus。
      

  5.   

    刚刚试了一下。。
    原来两个事务交错执行,就是开两个SQLplus窗口交错输入语句。。