是否可以在 SQL 中调用具有动态名称的函数?
例如:
SELECT functionid, (SELECT results FROM dbo.Function_*functionid*) AS results
FROM List_of_Functions
这将为表 List_of_Functions 中的每一行调用不同的函数。
或者我的做法是错误的吗?
最佳答案
您将需要构建(输入它,或根据您的表动态构建)一个 SQL 语句,例如:
SELECT
functionid
,CASE functionid
WHEN 1 THEN dbo.Function_1()
WHEN 2 THEN dbo.Function_2()
WHEN 3 THEN dbo.Function_3()
END AS results
FROM List_of_Functions
与其构建所有这些函数,不如构建一个函数并传入一个值,该函数可以使用该值来区分处理,这不是更好吗?像:
SELECT
functionid
,dbo.Function(functionid) AS results
FROM List_of_Functions_Parameters
关于sql - SQL中调用动态函数名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10557258/