问题:Application A issues the following SQL statements within in a single transaction using the Uncommitted Read isolation level:
select * from employee where deptno='A00';
update employee set salary=salary*1.1 where deptno='A00';
As long as the transaction has not been committed,which of the following is true for all other applications not running under the Uncommitted Read isolation level?
A.They can read and make changes to data for any employee in department A00.
B.They can read but not make changes to data for any employee in department A00.
C.They must wait until the transaction is committed before accessing data of any employee in department A00.
D.They must wait until application A disconnects before accessing data of any employee in department A00.
答案是C但是我觉得应该是A,请大家帮看看,谢谢。
------解决方案--------------------------------------------------------
其他处于非UR隔离级别的程序的确是必须等到A提交或者回滚该更新的时候才能更新 A中的make change是错误的
------解决方案--------------------------------------------------------
CS隔离不允许读未提交数据 但与UR不同 cs在读取数据时候将会锁定游标所在行(即当前行) 直到提交、回滚 或者读取到下一行记录位置 这个和ur有一点点的不同 ur是不允许读取和更新符合条件那些行 我是这么理解的
在认证考试当中这部分内容是最晦涩的,有时候我也搞不懂