日期:2014-05-18  浏览次数:20465 次

不明这条执行储存过程的语句
以下是一家企业的执行储存过程语句:
declare @P1 varchar(200)
set @P1=NULL
exec sp_blhFeng;1 @P1 output, '01 1 2012 12:00:00:000AM', '01 31 2012 12:00:00:000AM', 0, $1.0000,'317'
select @P1
-------------------------------------------------------


第三行的 exec sp_blhFeng;1 @P1 output。。。。。这儿不是太明白,原储存过程是这样的:


======================================================
ALTER PROCEDURE [dbo].[sp_blhFeng] 
@R_Error varchar(200)=Null output, 
@Start_Date datetime, 
@End_Date datetime ,
@IsDozen bit,
@DozenRate int,
  @empId char(8)
AS  

if IsNull(@IsDozen,0) = 0
begin  
select e.EmpName, 。。。。。。。。。。。

------解决方案--------------------
后面是输入输出参数.
探讨

这儿为什么要加个分号呢?

------解决方案--------------------
sp_blhFeng;1
是存儲過程組中的一個
------解决方案--------------------
加output表示此参数为输入参数,就是在存储过程修改了此值,存储过程外可以得到此值,故执行完后再查询此值
------解决方案--------------------
输入输出参数而已。。