我想修改我的内联函数,以便它可以处理两个变量作为输入。只有一个它工作得很好。
FUNCTION [dbo].[TBL_UDF_HowOften]
(
-- Add the parameters for the function here
@membername as varchar(15),
@tablename as varchar(15)
)
RETURNS @ergebnis TABLE
(
participated float,
percent float,
WonWen1 float,
WonWen2 float,
WonWen3 float
)
AS
BEGIN
DECLARE @wintimes float
DECLARE a lot of other stuff...
SELECT @wintimes = COUNT(DidWin)
FROM @tablename
WHERE DidWin = 1 AND membername = @membername
... and so on
嗯,@ membername被识别,但@tablename标有“必须声明表变量”@tablename“。”
答案 0 :(得分:4)
您不能在“from”子句中使用标量变量作为表名。您需要使用动态sql,我认为不能在函数内部完成。