填空题 阅读以下说明,根据要求回答下列问题。
[说明]
某商场客户一商品数据库中的各关系模式如下。
客户(客户号,姓名,性别,年龄)
商品(商品号,名称,型号,品牌,单价,库存)
销售(流水号,客户号,商品号,数量,日期)
采购(商品号,数量)
其中:
(1)一种品牌的同一名称商品可以有多个型号,商品的库存有大于等于0的约束。
(2)销售表记录每一笔销售,每销售一件商品,其库存都要做相应的修改。
现假定已经建立了该数据库及上述4个基本表。

填空题 (1)客户关系中的年龄取值在15~60岁之间(包含15岁和60岁),增加该约束的SQL语句如下,请将空缺部分补充完整。
ALTER TABLE 客户 ADD CONSTRAINT
CONSTRAINT con_age CHECK (______)
(2)如以下用SQL语句创建的畅销商品视图中包含商品号、商品名称、型号、品牌和销售量,该视图中商品的销售量大于等于1000件,请将空缺部分补充完整。
CREATE VIEW 畅销商品 ______
AS
SELECT 商品.商品号,名称,型号,品牌,销售量
FROM 商品,(SELECT 商品号, ______ AS 销售量
FROM 销售
GROUP BY 商品号
HAVING SUM(数量)>=1000) AS 商品销售量
WHERE ______;
(3)将畅销商品的查询权限赋予销售经理李华,请将空缺部分补充完整。
GRANT ______ ON TABLE 畅销商品 TO 李华;
填空题 查询购买“新飞”品牌的任一型号“冰箱”的客户姓名及购买日期。实现该查询的SQL语句如下,请将空缺部分补充完整。
SELECT 姓名,日期
FROM ______
WHERE ______ AND 商品号 ______ (
SELECT 商品号 FROM 商品
WHERE 品牌='新飞' AND 名称='冰箱')
填空题 实现销售业务的嵌入式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;
填空题 对商品表增加最小库存属性。若修改某商品的库存时,使得库存值小于或等于其最小库存值,则向采购表插入一条记录,要求采购的数量是该商品最小库存值的两倍再加上10。下面是完成该功能的SQL语句,请将空缺部分补充完整。
ALTER TABLE 商品 ______;
CREATE TRIGGER 采购-trigger AFTER ______
REFERENCING NEW ROW AS nrow
FOR EACH ROW
WHEN ______
BEGIN
INSERT INTO 采购
VALUES(______)
END