Как выполнить табличную функцию - PullRequest
58 голосов
/ 05 августа 2011

У меня есть следующая функция, которая возвращает таблицу.

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 ]

99 голосов
/ 05 августа 2011

A TVF (табличная функция) предполагается ВЫБРАН ИЗ.Попробуйте это:

select * from FN('myFunc')
48 голосов
/ 11 октября 2012

Вы можете выполнить его так же, как выбираете таблицу с помощью предложения SELECT.Кроме того, вы можете указать параметры в скобках.

Попробуйте использовать следующий синтаксис:

SELECT * FROM yourFunctionName(parameter1, parameter2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...