Select * from emp;
EMPNO DEPTNO SALARY ----- ------ ------ 100 1 55
101 1 50 select * from dept;
DEPTNO SUM_OF_SALARY ------ -------------
1 105
2
可以看到,现在因为还没有部门2的员工,所以总薪水为null。
现在有两个不同的用户(session)在不同的时间点(按照特定的时间顺序)执行了一系列的操作,那么在其中或最后的结果为:Time Session1 Session2
T1 insert into emp values(102,2,60);
T2 update emp set deptno =2 where empno=100;
T3 update dept set sum_of_salary =
(select sum(salary) from emp
where emp.deptno=dept.deptno) where dept.deptno in(1,2);
T4 update dept set sum_of_salary =
(select sum(salary) from emp
where emp.deptno=dept.deptno) where dept.deptno in(1,2);
T5 commit;
T6 select sum(salary) from emp group by deptno; 问题I:这里会话2的查询结果是什么?
T7 commit;
到这里为此,所有事务都已完成,所以以下查询与会话已没有关系
T8 select sum(salary) from emp group by deptno; 问题II:这里查询结果是什么?
T9 select * from dept;
问题III:这里查询的结果是什么?
T6步中问题I的结果( ) ; T8步中问题II的结果是( ) ; T9步中问题III的结果是( )
A B C D E F
150 260 150
255
150
2115
1115
250
1105
260
1110
255