请检查存储过程 - 我的错误是什么?我正在尝试将计算值分配给变量。
Alter Proc [dbo].[FindAnnualLeave1]
@Empid varchar(20)
as
Declare @AnnualPending int
Select
@AnnualPending = (select (0.0821917808219178) * DATEDIFF(d, e.doj,GETDATE())- l.Leaves
where l.EmpLeaveCode = 'Annual')
From
EmployeeLeaves l
inner join
EmployeeMaster e on l.EmpID = e.EmpID
where
l.EmpID = e.EmpID
return @AnnualPending
Go
此查询不返回任何内容。我想在命令按钮单击后将此变量显示到asp.net标签。如果我不使用变量,我的意思是只有select语句,它返回值。我试过asp和sql。
答案 0 :(得分:1)
存储过程的返回类型用于返回退出代码,即int
您的计算结果是0到1之间的值
您需要定义float或numeric(10,4)类型的输出变量并返回该值
Alter Proc [dbo].[FindAnnualLeave1]
@Empid varchar(20),
@AnnualPending numeric(10,4) OUTPUT