68 votes

Comment exécuter une fonction à valeur de table

J'ai la fonction suivante qui renvoie 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

Quelqu'un pourrait-il m'expliquer comment exécuter cette fonction.

112voto

Paul Creasey Points 15663

Une TVF (fonction à valeur table) est censée être SÉLECTIONNÉE À PARTIR. Essaye ça:

 select * from FN('myFunc')

56voto

nvrtheless Points 888

Vous pouvez l'exécuter tout comme vous sélectionnez une table en utilisant la clause SELECT De plus, vous pouvez fournir des paramètres entre parenthèses.

Essayez avec la syntaxe ci-dessous :

 SELECT * FROM yourFunctionName(parameter1, parameter2)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X