设有商品表(商品编号,商品名,进货单价,销售单价)、销售表(商品编号,销售时间,销售数量)和商品利润表(商品编号,总利润)。设进货单价、销售数量、销售单价和总利润均为整型,商品编号和商品名的类型均为varchar(20)。总利润的默认值为0。请编写完成下列功能的存储过程:根据给定的商品编号修改对应商品的总利润。(10分)
设有商品表(商品编号,商品名,进货单价,销售单价)、销售表(商品编号,销售时间,销售数量)和商品利润表(商品编号,总利润)。设进货单价、销售数量、销售单价和总利润均为整型,商品编号和商品名的类型均为varchar(20)。总利润的默认值为0。请编写完成下列功能的存储过程:根据给定的商品编号修改对应商品的总利润。(10分)
相关考题:
在SQL Server 2008中,设某数据库中有商品表(商品号,商品名,进货价格),商品号为主码;销售表(商品号,销售时间,销售数量,销售价格,本次利润),商品号和销售时间为主码,销售价格为本次销售商品的单价。现要求每当在销售表中插入前4列数据时(假设一次只插入一行数据),系统自动计算本次销售产生的利润,并将该利润赋给销售表的第5列“本次利润”。请编写实现上述功能的后触发型触发器代码。(10分)
设有商品表(商品号,商品名,单价)和销售表(销售单据号,商品号,销售时间,销售数量,销售单价)。其中,商品号代表一类商品,商品号、单价、销售数量和销售单价均为整型。请编写查询某年某商品的销售总毛利的存储过程,毛利=销售数量x(销售单价一单价)。要求商品号和年份为输入参数,总毛利用输出参数返回。(10分)
某SQL Server 2000数据库中有两张表:商品表(商品号,商品名,商品类别,成本价)和销售表 (商品号,销售时间,销售数量,销售单价)。用户需统计指定年份每类商品的销售总数量和销售总利润,要求只列出销售总利润最多的前三类商品的商品类别、销售总数量和销售总利润。为了完成该统计操作,请按要求将下面的存储过程补充完整。CREATE PROC p_Sum@year INTASSELECT (13) WITH TIRS商品类别,SUM(销售数量)AS销售总数量13.
设有商品表(商品号,商品名,单价) 和销售表(商品号,销售时间,销售数量)。现要查询单价高于100元的全部商品的销售总次数和总数量,包括没有被卖出过的商品(没有被卖出过的商品的销售总次数和总数量置为0) 。请补全如下语句:SELECT商品表。商品号,销售总次数= (9) ,销售总数量=SUM(销售数量)FROM商品表 (10) 销售表0N商品表。商品号=销售表。商品号WHERE单价>100GROUP BY商品表。商品号(9)
设某商品经营管理系统使用SQL Server 2000数据库管理系统。在数据库中存在销售明细表,其建表语句为:CREATE TABLE销售明细表(销售单据编号varchar(8),商品编号varchar(8),单价money,数量int,总价money) ,为了保证数据的一致性,建有如下触发器:CREATE TRIGGER AutoCountSumON销售明细表FOR INSERT,UPDATEASDECLARE@UnitPrice money,@Quantity intDECLARE@Amount moneySELECT@UnitPrice=单价,@Quantity=数量FROM insertedSET@Amount=@UnitPrice*@QuantityUPDATE销售明细表SET总价=@AmountWHERE销售单据编号IN(SELECT销售单据编号FROM inserted)AND商品编号IN(SELECT商品编号FROM inserted)①设系统运行一段时间后此表中有近一百万条记录,此时发现对该表的插入操作速度很慢,请分析插入速度慢的原因。(3分)在不改变数据库服务器硬件和表结构、不清理数据的情况下,请说明应如何优化此表的插入操作。(2分)②在解决了①中的问题后,程序员在数据库中执行如下SQL语句:SELECT商品编号,sum(总价)FROM销售明细表WHERE单价50GROUP BY商品编号请在不改变该SQL语句的情况下,给出提高该查询执行效率的方案。(5分)
在SQL Server 2008中,有商品表(商品号,商品名,单价)和销售表(商品号,销售时间,销售价格)。现要限制“销售价格”的取值必须在此商品“单价”的0.6倍到1.5倍范围之内,实现这个约束的正确代码是( )。A.CHECK(销售价格BETWEEN单价*0.6 AND单价*1.5)B.CHECK(销售价格BETWEEN商品表.单价*0.6 AND商品表.单价*1.5)C.CREATE TRIGGER tri_Sales ON销售表FOR INSERT,UPDATEAs IF EXISTS(SELECT*FROM INSERTED a JOIN商品表bON a.商品号=b.商品号WHERE销售价格NOT BETWEEN单价*0.6 AND单价*1.5)ROLLBACKD.CREATE TRIGGER tri_ales ON销售表INSTEAD OF INSERT,UPDATE ASIF EXISTS( SELECT冰FROM INSERTED a JOIN商品表bON a.商品号=b.商品号WHERE销售价格NOT BETWEEN单价*0.6 AND单价*=1.5)ROLLBACK
查询单价最高的商品销售情况,查询结果包括商品号、商品名、销售日期、销售数量和销售金额。正确命令是A.SELECT商品.商品号,商品名,销售日期,销售数量,销售数量*单价AS销售金额 FROM商品JOIN销售ON商品.商品号=销售.商品号 WHERE单价=(SELECT MAX(单价)FROM商品)B.SELECT商品.商品号,商品名,销售日期,销售数量,销售数量*单价AS销售金额 FROM商品JOIN销售ON商品.商品号=销售.商品号 WHERE单价=MAX(单价)C.SELECT商品.商品号,商品名,销售日期,销售数量,销售数量*单价AS销售金额 FROM商品JOIN销售WHERE单价=(SELECT MAX(单价)FROM商品)D.SELECT商品.商品号,商品名,销售日期,销售数量,销售数量*单价AS销售金额 FROM商品JOIN销售WHERE单价=MAX(单价)
查询商品单价在10到50之间、并且日销售数量高于20的商品名、单价、销售日期和销售数量,查询结果按单价降序。正确命令是A.SELECT商品名,单价,销售日期,销售数量FROM商品JOIN销售 WHERE(单价BETWEEN 10 AND 50)AND销售数量20 ORDER BY单价DESCB.SELECT商品名,单价,销售日期,销售数量FROM商品JOIN销售 WHERE(单价BETWEEN 10 AND 50)AND销售数量20 ORDER BY单价C.SELECT商品名,单价,销售日期,销售数量FROM商品,销售 WHERE(单价BETWEEN 10 AND 50)AND销售数量20 ON商品.商品号=销售.商品号ORDER BY单价D.SELECT商品名,单价,销售日期,销售数量FROM商品,销售 WHERE(单价BETWEEN 10 AND 50)AND销售数量20 AND商品.商品号=销售.商品号ORDER BY单价DESC
查询商品单价在10到50之间,并且日销售数量高于20的商品名,单价,销售日期和销售数量,查询结果按单价降序,正确命令是( )A.SELECT商品名,单价,销售日期,销售数量FROM商品JOIN销售 WHERE(单价BETWEEN l0 AND 50)AND销售数量=20 ORDER BY单价DESCB.SELECT商品名,单价,销售日期,销售数量FROM商品JOIN销售 WHERE(单价BETWEEN l0 AND 50)AND销售数量20C.SELECT商品名,单价,销售日期,销售数量FROM商品,销售 WHERE(单价BETWEEN l0 AND 50)AND销售数量20 ON商品.商品号=销售.商品号ORDER BY单价D.SELECT商品名,单价,销售日期,销售数量FROM商品,销售 WHERE(单价BETWEEN l0 AND 50)AND销售数量20 AND商品,商品号=销售,商品号ORDER BY单价DESC