W
wl821205
Unregistered / Unconfirmed
GUEST, unregistred user!
USE Sales<br>GO<br>CREATE PROC ProcSumByGoods<br> @goodname varchar(20),@corp varchar(30),@year int, @month int,<br> @sum int OUTPUT<br>AS<br>--声明和初始化一个局部变量,用于保存系统函数@@ERROR的返回值<br>DECLARE @ErrorSave int<br>SET @ErrorSave=0<br>--统计指定厂商指定名称的商品在指定年份月份总的销售量<br>SELECT @sum=SUM(Sell.数量)<br>FROM Sell JOIN Goods ON Sell.商品编号=Goods.商品编号<br>WHERE 商品名称=@goodname AND 生产厂商=@corp AND YEAR(售出时间)=@year AND MONTH(售出时间)=@month <br>IF (@@ERROR<>0)<br> SET @ErrorSave=@@ERROR<br> RETURN @ErrorSave<br>GO<br><br>--执行存储过程,查询惠普公司2004年10月的打印机销售总量<br>DECLARE @ret int,@sum int <br>EXEC @ret=ProcSumByGoods '笔记本电脑','联想公司',2004,10,@sum OUTPUT<br>PRINT '该存储过程执行结果如下:'<br>PRINT '返回值='+CAST(@ret AS char(1)) <br>PRINT '总销售量='+CAST(@sum AS char(4))<br><br><br>以上语句IF (@@ERROR<>0)<br> SET @ErrorSave=@@ERROR<br> RETURN @ErrorSave有何用,如何解悉?