【DB笔试面试407】事务T执行完毕后,关系表EMPLOYEES的数据是()_微信公众号

 

 

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。

 

 

【DB笔试面试407】事务T执行完毕后,关系表EMPLOYEES的数据是()_微信_02