web-dev-qa-db-fra.com

Est-il possible d'avoir des tables temporaires dans une fonction?

Apparemment, je ne peux pas les utiliser. Je reçois un message d'erreur comme:

Utilisation non valide d'un opérateur à effets secondaires "SELECT" dans une fonction

Si je veux faire quelque chose comme ça:

select bleh
  into #temp
  from Blah

... à l'intérieur d'une fonction.

20
aarona

Non, par ce fil où la même question a été posée , vous ne pouvez pas, mais vous pouvez utiliser un table variable

DECLARE @MyTempTableVariable TABLE (SCHEMA)

INSERT INTO @MyTempTableVariable
SELECT bleh
FROM bleh
30
Justin Pihony

Vous pouvez également le faire avec un CTE. Voir le navigateur de modèles dans SSMS. IntelliSense confond le problème et affichera une erreur jusqu'à ce que vous ayez terminé le CTE et l'insertion/sélection suivante, mais cela fonctionnera.

1
Lew Wolf