
Q题目
已知下列员工关系表EMPLOYEES
|
员工号 |
部门 |
工资 |
|
04501 |
财务 |
3000 |
|
05601 |
市场 |
4000 |
|
03020 |
研发 |
3500 |
对该表的工资属性和完整性约束为:2000≤工资≤5000
现将如下2个操作组织为事务T,操作1先执行,操作2后执行。
操作1:INSERT INTO EMPLOYEES VALUES('03650','研发','4600');
操作2:UPDATE EMPLOYEES SET 工资=工资*1.2 WHERE 部门='市场' OR 部门='研发';
事务T执行完毕后,关系表EMPLOYEES的数据是()
A、
|
员工号 |
部门 |
工资 |
|
04501 |
财务 |
3000 |
|
05601 |
市场 |
4000 |
|
03020 |
研发 |
3500 |
|
03650 |
研发 |
4600 |
B、
|
员工号 |
部门 |
工资 |
|
04501 |
财务 |
3000 |
|
05601 |
市场 |
4000 |
|
03020 |
研发 |
3500 |
C、
|
员工号 |
部门 |
工资 |
|
04501 |
财务 |
3000 |
|
05601 |
市场 |
4800 |
|
03020 |
研发 |
4200 |
|
03650 |
研发 |
4600 |
D、
|
员工号 |
部门 |
工资 |
|
04501 |
财务 |
3000 |
|
05601 |
市场 |
4800 |
|
03020 |
研发 |
3500 |
A答案
答案:B。
事务中的操作,要么都成功,要么都失败。显然,操作2会失败,则整个操作全部失败,数据将不会修改,故选B。

















