select * from table
for update此处加的是何中锁,共享锁还是排他锁?
其他事务还能同时对数据行进行访问吗?

解决方案 »

  1.   

    完全可以访问,oracle中任何写操作都不会阻塞读操作,在这句sql中,oracle使用的是Tx锁,即事务锁。其他session可以读取table中的任何你在提交以前的数据,但不能进行修改。
      

  2.   

    按照楼上说法,是不是Oracle中事务A可以读取事务B正在修改的数据,当事务A要对相同数据行进行修改,需要等待事务B提交后再读取修改后的行?那for update是不是指其他事务可以同时访问该数据行,但是不能修改它,直到事务对行解锁?