问题 单项选择题

设T1和T2两个事务,他们对数据data的并发操作如下表所示(SLOCK data表示对数据data上S锁,UNLOCK data表示对数据data解锁),对这个并发操作,下面说法正确的是______。 T1 T2

①请求
SLOCK data
读 data=20

③A=A+30 写回 A=50
COMMIT
UNLOCK data
④ 请求
SLOCK data
读data=20
写回data=50
COMMIT
UNLOCK data

A.该操作部能重复读
B.该操作符合完整性要求
C.该操作的第①步中,事务T1应该申请X锁
D.该操作的第②步中,事务T2不可能得到对data的锁

答案

参考答案:C

解析: 事务T1对A上S锁后,事务T2仍能对A上S锁,这样事务T1的修改就丢失,最后A中的数据是事务T2写回的18,因此为了防止丢失修改,必须在写数据操作之前对其上X锁。

选择题
判断题