T-sql:表值函数

时间:2015-01-26 14:57:15

标签: sql-server tsql

我们有一个包含列MyFunction nvarchar()的表,其中包含某个表值函数的名称。

有不同的功能,因此每个功能的列数可能不同。

  1. 有没有办法将函数作为字符串调用?

    例如FunctionA是一个函数,Set @MyFunction =' FunctionA'然后拨打MyFunction(' x',' y')

  2. 有没有办法将结果存储在tempTable中,因为我们不知道前面的列数?

  3. 提前致谢

1 个答案:

答案 0 :(得分:0)

  1. 是的,您可以使用动态SQL执行此操作:

    EXEC sp_executesql N'select * from MyFunction(''x'', ''y'')'
    
  2. 是的,你可以,但你需要全球临时表:

    EXEC sp_executesql N'select * into ##test from MyFunction(''x'', ''y'')';
    select * from ##test;
    
  3. 希望这适合你