问题 问答题


阅读以下说明,回答问题1至问题4。
【说明】
某商场客户-商品数据库中各关系模式如下:
客户(客户号,姓名,性别,年龄)
商品(商品号,名称,型号,品牌,单价,库存)
销售(流水号

,数量,日期)
采购(商品号,数量)
其中:
1)一种品牌的同一名称商品可以有多个型号,商品的库存有大于等于0约束:
2)销售表记录每一笔销售,每销售一件商品,其库存都要做相应的修改。
现假定已经建立了该数据库及上述四个基本表。

【问题3】
实现销售业务的嵌入式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( (i) );
EXEC SQL UPDATE 商品 SET 库存= (i) WHERE 商品号=:pno;
if(SQLCA.SQLCODE !=0){
printf ("商品%s库存不满足本次购买数量,交易失败!",pno);
EXEC SQL ROLLBACK WORK;
} else{
EXEC SQL (k) ;
}
EXEC SQL DISCONNECT CURRENT;

答案

参考答案:

解析:(i):pno,:CLIO,:quantity, :date (j)库存-:quantiy (k)COMMIT WORK 或 COMMIT

解答题
单项选择题 A1/A2型题