在另一个用户定义的函数中调用SQL用户定义的函数

时间:2013-08-16 16:34:09

标签: sql sql-server database function

我有以下UDF,我想调用另一个在返回时分割结果的udf

-- =============================================
CREATE FUNCTION [dbo].[ufnGetValueForEmployeeTable]
(   
    @EeID       AS int,
    @ProvisionID    AS int,
    @optionName     AS varchar(4000)
)
RETURNS varchar(128)
AS
BEGIN
    SELECT 
    WHERE  
    RETURN **call here this function** GetOptionValueFromOtherOptions(@optionName ,  @value `this is the value from select` )

有可能吗?如果是的话怎么样?

2 个答案:

答案 0 :(得分:2)

我想你想要这样的东西:

declare @retval varchar(128);

select . . .;

select @retval = GetOptionValueFromOtherOptions(@optionName ,  @value);

return @retval;

答案 1 :(得分:0)

尝试:

RETURN (SELECT dbo.GetOptionValueFromOtherOptions(@optionName, @value));

但是我非常谨慎地提出这一点:UDF本身就足够糟糕了;嵌套它们只会使问题复杂化。可能更好的做法是需要一个函数而另一个函数直接调用它们而不是使用这种嵌套方法。