阅读以下说明,根据要求回答下列问题。
[说明]
某商场客户一商品数据库中的各关系模式如下。
客户(客户号,姓名,性别,年龄)
商品(商品号,名称,型号,品牌,单价,库存)
销售(流水号,
客户号
,商品号
,数量,日期)
采购(商品号,数量)
其中:
(1)一种品牌的同一名称商品可以有多个型号,商品的库存有大于等于0的约束。
(2)销售表记录每一笔销售,每销售一件商品,其库存都要做相应的修改。
现假定已经建立了该数据库及上述4个基本表。
实现销售业务的嵌入式SQL代码段(嵌入C语言)如下,假设销售表的流水号由系统自动生成。请将空缺部分补充完整。
…
EXEC SQL BEGIN DECLARE SECTION;
/*销售:商品号,客户号,数量,日期*/
char pno[6]; char cno[6];
int quantity; char date[10];
EXEC SQL END DECLARE SECTION;
…
EXEC SQL CONNECT TO DEFAULT;
EXEC SQL SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
EXEC SQL INSERT INTO 销售(商品号,客户号,数量,日期)
VALUES (______);
EXEC SQL UPDATE 商品 SET 库存=______ WHERE 商品号=:pno;
if(SQLCA.SQLCODE!=0){
printf("商品%s库存不满足本次购买数量,交易失败!",pno);
EXEC SQL ROLLBACK WORK;
}else{
EXEC SQL ______;
}
EXEC SQL DI SCONNECT CURRENT;
…