如何执行表值函数

时间:2011-08-05 08:23:09

标签: sql sql-server sql-server-2008 tsql

我有以下函数返回Table。

create Function FN(@Str varchar(30))
  returns
  @Names table(name varchar(25))
  as 
  begin 

      while (charindex(',', @str) > 0)
      begin
      insert into @Names values(substring(@str, 1, charindex(',', @str) - 1))
     set  @str = substring(@str, charindex(',', @str) + 1, 100)  
      end
      insert into @Names values(@str)  

      return
  end

任何人都可以解释一下如何运行这个功能。

2 个答案:

答案 0 :(得分:98)

TVF (table-valued function)应该是SELECTED FROM。试试这个:

select * from FN('myFunc')

答案 1 :(得分:48)

您可以像使用SELECT子句选择表一样执行它。此外,您可以在括号内提供参数。

尝试使用以下语法:

SELECT * FROM yourFunctionName(parameter1, parameter2)