参考答案:
由于汇总表1和视图的模式访问频率都很高,而且视图的数据源来自汇总表1,又因为其他汇总表的访问频率较低,所以只需要将视图的数据源绑定为汇总表3,因为汇总表3也可以满足视图的输出模式。这样不仅提升了汇总表3的数据访问率,而且降低了汇总表1的数据访问率,系统性能和服务性能得到了很大的优化。又因为货物约有500种,共10类,可以再建立一个视图绑定数据源为汇总表4,这样就可以充分利用汇总表4的数据信息,从而可以进一步完善系统的性能的优化。
设有商品表(商品号,商品名,单价)和销售表(销售单据号,商品号,销售时间,销售数量,销售单价)。其中,商品号代表一类商品,商品号、单价、销售数量和销售单价均为整型。
请编写查询某年某商品的销售总毛利的存储过程,毛利=销售数量×(销售单价-单价)。要求商品号和年份为输入参数,总毛利用输出参数返回。
参考答案:
CREATE PROCEDURE PRODUCT @商品号 int,@年份 int,@毛利 int output
AS
DELCARE
@某商品销售量 int,@某商品进价 int,@某商品销售单价 int
BEGIN
Select @某商品进价=单价 from 商品表 where@商品号=商品号
Select @商品销售单价=销售单价,@某商品销售量=count()
from 销售表 where@商品号=商品号 and销售时间=@年份
IF @某商品进价 is NULL THEN
ROLLBACK;
RETURN;
END IF;
IF @某商品销售单价 isNULL THEN
ROLLBACK;
RETURN;
RNDIF;
SET @毛利=(@某商品销售单价-@某商品进价)@某商品销售量
GO
原文:http://blog.51cto.com/13271983/2147899