execute query mit temp tabelle

ny_unity

SQL-Guru
Beiträge
193
Hallo zusammen,

ich habe ein query, welches select into #temp Tabelle beinhaltet. Nachdem ich das query ausgeführt habe, steht mit die #temp nicht zur Verfügung, habe ich einen Schritt vergessen?

Hier mein code:
Code:
SET @query =  '    SELECT * INTO #temp
                FROM    (
                        SELECT zeitraum, '+@cols+'
                        FROM meinetabelle t1
                            ) x
                        pivot
                            (
                            sum(anzahl)
                            for sprache IN ('+@cols+')
                            ) p
                        ) t2'
execute(@query);


SELECT * FROM #temp;
 
Werbung:
Das Problem ist das die Temporäre-Tabelle nur innerhalb der Sitzung (scope) existiert in der sie erzeugt wird und du nicht von Außerhalb darauf zugreifen kannst. In diesem Falle nur innerhalb von EXECUTE(). Lösungen wären eine Funktion zu schreiben und die Tabelle als Rückgabewert der Funktion zurück zu liefern oder du musst tatsächlich eine Tabelle Außerhalb bereit stellen.
Store output of SQL Server EXEC into a table
Es gibt da noch so Hacks mit OPENROWSET
Insert results of a stored procedure into a temporary table
aber die Funktion ist glaube ich die beste Wahl.

Es gibt ziemlich viele Beiträge wenn du nach dynamic SQL und temporäre Tabelle suchst...
How to Insert the Results of a Stored Procedure into a Temporary Table in SQL Server
SQL SERVER - How to INSERT data from Stored Procedure to Table - 2 Different Methods - SQL Authority with Pinal Dave
 
Zurück
Oben