问答题

阅读以下技术说明,根据要求回答下列问题。
[说明]
某省会城市××长途汽车售票系统负责所有本地长途汽车站各班次的汽车票销售,并在该省会城市和全省主要地级市设有多个该长途汽车票销售网点,各售票网点使用相同的售票程序。假设售票程序中用到的伪指令如表所示。
伪指令含义
伪指令 说明
R(A,x) 返回长途汽车班次A当前的剩余汽车票数给变量x
W(A,x) 将当前数据库中长途汽车班次A的剩余汽车票数置为x
假设某售票网点一次售出n张长途汽车班次A的汽车票,则售票程序的伪指令序列为:
R(A,x),W(A,x~n)
根据上述业务及规则,完成下列问题。
下面是用E-SQL实现可串行化调度的长途汽车票销售程序的一部分,请补全空缺处的代码。
EXEC SQL SET TRANSACTION ISOLATION LEVEL ______
EXEC SQL SELECT balance INTO :x FROM tickets WHERE flight=’A’;
printf("长途汽车班次 A 当前剩余汽车票数为:%d\n请输入购票数:",x);
scanf("%d",&a);
x=x-a;
if (x<0)
EXEC SQL ROLLBACK WORK;
printf("票数不够,购票失败!");
else{
EXEC SQL UPDATE tickets SET ______ WHERE_flight=’A’;
if (SQLCA.sqlcode<>SUCCESS)
EXEC SQL ______;
else
EXEC SQL ______;
}

【参考答案】

SERIALIZABLE
balance=:x
ROLLBACK WORK
COMMIT WORK