我有一个标量函数,如果它返回适当变量的值,则从select语句返回一个值。如果没有返回值,则标量函数返回一个输入参数作为结果。
如何在表函数中解决这个问题?
我可以使用这个:
WITH Param
AS (
SELECT ID
,Data
FROM Configuration
WHERE NAME = 'NameOfConfiguration'
UNION ALL
SELECT NULL
,'Default Value'
)
SELECT TOP 1 Data
FROM Param
ORDER BY ID DESC
而不是:
IF (LEN(ISNULL(@returnvalue, '')) = 0)
BEGIN
RETURN @thisvalue
END
RETURN @returnvalue
答案 0 :(得分:0)
表值函数和标量值函数完全不同。
https://msdn.microsoft.com/en-us/library/ms191320.aspx?f=255&MSPPError=-2147217396
此链接将为您提供如何创建表值和标量函数。
如果您需要更多说明,请感觉退回:)