oracle创建视图makeup_flag,Oracle+PLSQL开发人员试题(DBA)

本文通过一系列SQL操作展示了数据库事务在并发环境下的行为。会话1插入新员工并更新部门,会话2更新了部门薪资总计。在不同的事务提交时间点,查询结果有所不同。最终,所有事务完成后,查询显示了最新的部门薪资总计和员工分布情况。
摘要由CSDN通过智能技术生成

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值