阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】 某航空售票系统负责所有本地起飞航班的机票销售,并设有多个机票销售网点。以下为E一SQL编写的部分售票代码: EXEC soL SELECT balance INTO:x FROM tickets WHERE flight=:flightno; printf(”航班%s当前剩余机票数为:%d\n请输入购票数:", flightno,x); scanf("%d", &a); EXEC soL UPDATE tickets SET balance =x =:a WHERE flight=:flightno; 请根据上述描述,完成下列问题。
问答题
下面是改写的存储过程,其中flightno为航班号;a为购票数;result为执行状态:1表示成功,0表示失败;表tickets中的剩余机票数balance具有大于等于零约束。请补充完整。 CREATE PROCEDRUE buy_ticket(char[]flightno IN,(a), int result OUT)AS BEGIN UPDATE tickets SET balance=(b); WHERE flight=flightno; if csoLcode<>SUCCESS){ //soLcode为SQL语句的执行状态(c); result=0; return; } COMMIT;(d)END
【正确答案】正确答案:1.int a IN 2.balance一a 3.ROLLBACK(或ROLLBACKWORK) 4.result=1;retum。