1. /*设计一个存储过程,输入年度和雇员号两个参数,得到该雇员、指定年度的订*/  
  2. /*单总数量(返回参数)以及订单的详细内容(记录集)*/  
  3. /*********** 第一步、创建存储过程 ***********/  
  4. Create Procedure EmployeeSalesByYear  
  5. @Year int,  
  6. @EmployeeID int,  
  7. @SalesCount int output   --输出参数,后面有output关键字  
  8. As 
  9. Begin 
  10.    --查询指定雇员指定年度的订单数量,返回的是一个整数值,同时将该值赋给@SalesCount   
  11. Select @SalesCount=count(*) From Orders   
  12. Where and Year(OrderDate)=@Year 
  13.  
  14.    --查询指定雇员指定年度的订单明细,返回的是一个结果集  
  15. Select Orders.*,ProductID,UnitPrice,Quantity,Discount  
  16. From Orders,[Order Details]  
  17. Where Orders.OrderID=[Order Details].OrderID  
  18.     and and Year(OrderDate)=@Year 
  19. End   
  20. Go  
  21.  
  22. /*********** 第二步、执行存储过程 ***********/  
  23. --定义一个变量,存储返回的订单数量  
  24. declare @ThisSalesCount int 
  25.  
  26. --执行存储过程,等到记录集和返回值  
  27. exec EmployeeSalesByYear 1997,2,@SalesCount= @ThisSalesCount Output 
  28.  
  29. --将返回值输出到屏幕上,看看结果是否正确(选择查询窗口左下角的“消息”标签)  
  30. print cast(@ThisSalesCount as varchar(12))