2010-09-22 5 views
2

J'ai une procédure stockée qui génère dynamiquement des résultats de pivot, en passant sql pour les defs de ligne, column pour pivoter, aggregate (field) pour sum et table nom de l'agrégat. Cela fonctionne très bien, mais j'ai besoin de produire un tableau à partir de ces résultats pour les calculs ultérieurs.Résultats de la procédure stockée dynamique au tableau

Comment puis-je sauvegarder dynamiquement les résultats dans une table dans la procédure stockée (temp ou non temp) sans connaître les colonnes de sortie?

Répondre

1
SELECT * 
INTO #TempTable 
FROM (Pivot Expression) 

Cela va créer un #temptable avec les résultats de ce que vous avez dans la clause FROM, peu importe le nombre/type de colonnes.

0

vous n'avez pas demandé, mais c'est ainsi que je reçois un ensemble de noms de colonnes d'une vue:

DECLARE @columns VARCHAR(1000) 

SELECT @columns = COALESCE(@columns + ',[' + cast(fld as varchar) + ']', 
'[' + cast(fld as varchar)+ ']') 
FROM view 
GROUP BY fld 
Questions connexes