- /*设计一个存储过程,输入年度和雇员号两个参数,得到该雇员、指定年度的订*/
- /*单总数量(返回参数)以及订单的详细内容(记录集)*/
- /*********** 第一步、创建存储过程 ***********/
- Create Procedure EmployeeSalesByYear
- @Year int,
- @EmployeeID int,
- @SalesCount int output --输出参数,后面有output关键字
- As
- Begin
- --查询指定雇员指定年度的订单数量,返回的是一个整数值,同时将该值赋给@SalesCount
- Select @SalesCount=count(*) From Orders
- Where and Year(OrderDate)=@Year
- --查询指定雇员指定年度的订单明细,返回的是一个结果集
- Select Orders.*,ProductID,UnitPrice,Quantity,Discount
- From Orders,[Order Details]
- Where Orders.OrderID=[Order Details].OrderID
- and and Year(OrderDate)=@Year
- End
- Go
- /*********** 第二步、执行存储过程 ***********/
- --定义一个变量,存储返回的订单数量
- declare @ThisSalesCount int
- --执行存储过程,等到记录集和返回值
- exec EmployeeSalesByYear 1997,2,@SalesCount= @ThisSalesCount Output
- --将返回值输出到屏幕上,看看结果是否正确(选择查询窗口左下角的“消息”标签)
- print cast(@ThisSalesCount as varchar(12))
转载于:https://blog.51cto.com/huqianhao/952945