我在百科上看到解释是:
脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。
既然还没提交到数据库中,另外一个事务是访问不到事务1修改的数据的,还是只访问原始数据库的数据。

解决方案 »

  1.   

    你说的这种情况已经避免了脏读,当降低事务隔离级别到read uncommitted时,B事务能读取到A事务未提交的变更,这种情况下才会出现脏读
      

  2.   

        张三的工资为5000,事务A中把他的工资改为8000,但事务A尚未提交。
        与此同时,
        事务B正在读取张三的工资,读取到张三的工资为8000。
        随后,
        事务A发生异常,而回滚了事务。张三的工资又回滚为5000。
        最后,
        事务B读取到的张三工资为8000的数据即为脏数据,事务B做了一次脏读。你看看这篇文章  点这里
      

  3.   

    用户修改了数据,没有commit,但其他人能读到这个没有commit的数据
    Oracle不支持脏读