(1)客户关系中的年龄取值在15岁到60岁之间(包含15岁和60岁),增加该约束的SQL语句如下,请将空缺部分补充完整。 ALTER TABLE 客户 ADD CONSTRAINT CONSTRAINT con_age CHECK( (a)

admin2009-05-15  34

问题 (1)客户关系中的年龄取值在15岁到60岁之间(包含15岁和60岁),增加该约束的SQL语句如下,请将空缺部分补充完整。
   ALTER TABLE 客户 ADD CONSTRAINT
   CONSTRAINT con_age CHECK(  (a)  )
(2)如下用SQL语句创建的畅销商品视图包含商品号、商品名称、型号、品牌和销售量,该视图中商品的销售量大于等于1000件。请将空缺部分补充完整。
   CREATE VIEW畅销商品  (b)  
   AS
   SELECT 商品.商品号,名称,型号,品牌,销售量
   FROM 商品,(SELECT 商品号,  (c)  AS销售量
   FROM  销售
   GROUP BY 商品号
   HAVING SUM (数量)>=1000)AS 商品销售量
   WHERE  (d)  ;
(3)将视图畅销商品的查询权限赋予销售经理李华,请将空缺部分补充完整。
   GRANT  (e)  ON TABLE畅销商品TO 李华;
实现销售业务的嵌入式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 rO DEFAULT;
   EXEC SQL SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
   EXEC SQL INSERT INTO销售(商品号,客户号,数量,日期)
   VALUES(  (i)  );
   EXEC SQL UPDATE 商品 SET 库存=  (j)  WHERE 商品号=: pno;
   if(SQLCA.SQLCODE!=0){
       printf(“商品%s库存不满足本次购买数量,交易失败!”,pno);
           EXEC SQL ROLLBACK WORK;
       }else{
          EXEC SQL  (k)  ;
       }
   EXEC SQL DISCONNECT CURRENT;
   ……

选项

答案(i):pno,:cno,:quanlity,:date (j)库存=:quanlity (k)COMMIT WORK 或COMMIT

解析 这是一个静态SQL的嵌入式程序。“EXEC SQL INSERT INTO销售(商品号,客户号,数量,日期)VALUES((i))”是要在销售关系中插入记录,而“销售(商品号,客户号,数量,日期)”列出插入记录需包含的字段,在VALUES后的(i)中的值与字段一一对应,所以在(i)中应填“:pno,:cno,:quanlity,:dat”:“EXEC SQL UPDATE 商品 SET 库存=(j) WHERE 商品号=:pno”语句是要修改商品关系中“商品号=:pno”的“库存”字段的值,“库存”字段的值类型为整型,在int quantity定义了,所以(j)空应填“库存=:quanlity”;“if(SQLCA.SQLCODE!=0){  printf(“商品%s库存不满足本次购买数量,交易失败!”,pno);
   EXEC SQL ROLLBACK WORK;} else {EXEC SQL (k);)“语句是当要购买的商品的库存不满足交易的数量时,就不进行交易,同时将前面所执行的操作取消,而当满足时,则进行交易,所以要对前面的操作进行提交,即(k)空应填“COMMIT WORK”或“COMMIT”。
转载请注明原文地址:https://jikaoti.com/ti/5ex7FFFM
0

相关试题推荐
最新回复(0)