我试图从另一个UDF调用UDF并希望获得所需的输出。但是,SQL Server不会在第二个UDF中返回任何内容。
我的电话是:
DECLARE @V_F VARCHAR(200)
EXEC @V_F = dbo.fnCalcDiscount 220,'1234567812345679','Thailand'
PRINT @V_F
GO
DECLARE @V_F VARCHAR(200)
EXEC @V_F = dbo.groupsanddiscounts '1234567812345679','Thailand',220,220
PRINT @V_F
GO
输出:
110
0
groupsanddiscounts
的身体:
CREATE FUNCTION [dbo].[groupsanddiscounts]
(@p_PROMOCODE VARCHAR(50),
@p_COUNTRY VARCHAR(100),
@p_TOTVAL INT,
@p_NEWSIMCOST INT)
RETURNS VARCHAR(300)
AS BEGIN
DECLARE @p_FINALVALUE VARCHAR(300)
SELECT @p_FINALVALUE = dbo.fnCalcDiscount (@p_NEWSIMCOST, @p_PROMOCODE, @p_COUNTRY)
RETURN @p_FINALVALUE
END
fnCalcDiscount
的身体
CREATE FUNCTION [dbo].[fnCalcDiscount]
(@p_TOTVAL INT,
@p_PROMOCODE VARCHAR(200),
@p_COUNTRY VARCHAR(200))
RETURNS VARCHAR(300)
AS BEGIN
DECLARE @retResult VARCHAR(300)
SELECT @retResult = '110'
RETURN @retResult
END
知道什么是狂暴的吗?
由于
答案 0 :(得分:0)
尝试使用select
:
select dbo.fnCalcDiscount(220, '1234567812345679', 'Thailand')
我很惊讶exec
并不会简单地返回错误。它通常用于存储过程和SQL代码。