我们有一个包含列MyFunction
nvarchar()
的表,其中包含某个表值函数的名称。
有不同的功能,因此每个功能的列数可能不同。
有没有办法将函数作为字符串调用?
例如FunctionA
是一个函数,Set @MyFunction =' FunctionA'然后拨打MyFunction(' x',' y')
有没有办法将结果存储在tempTable中,因为我们不知道前面的列数?
提前致谢
答案 0 :(得分:0)
是的,您可以使用动态SQL执行此操作:
EXEC sp_executesql N'select * from MyFunction(''x'', ''y'')'
是的,你可以,但你需要全球临时表:
EXEC sp_executesql N'select * into ##test from MyFunction(''x'', ''y'')';
select * from ##test;
希望这适合你