我有这个当前SP:调用存储过程会由于不正确的语法
ALTER PROCEDURE [dbo].[GetHighestDrop]
@val1 AS FLOAT ,
@val2 AS FLOAT ,
@val3 AS FLOAT
AS
BEGIN
select case when @val1 < @val2 then
case when @val1 < @val3 then @val1
else @val3
end
when @val2 < @val3 then @val2
else @val3
end
END
我这个语法调用它:
SELECT
GetHighestDrop @val1=((clmnA/clmnB)-1)*100,@val2=2,@val3=3
FROM dbo.tstTable
clmnA和clmbB包含数字,如果我seperately运行它们,如:
SELECT ((clmnA/clmnB)-1)*100 FROM dbo.tstTable
我得到的结果,这是一个浮动,但是当我通过GetHighestDrop运行它,它失败。
任何想法,为什么?
相反的,你应该为此创造_function_一个存储过程。 – Oded