Smeštanje rezultata procedure u temp tabelu
Objavljeno: 20-01-2014 | Autor: Nenad Živković | Kategorija: Stored procedure, T-SQL, Trikovi
Ознаке: Excel, Export
0
Sintaksa koju svi često volimo da koristimo je SELECT * INTO #temp FROM.. koja nam omogućava da brzo kreiramo temp tabelu od rezultata koji upit vraća.
Verovatno je i svako ponekad poželeo da to isto iskoristi i da rezultate stored procedure na sličan način smesti u neku privremenu tabelu, ali već prvi pokušaj će pokazati da takva sintaksa za procedure ne postoji.
SELECT * INTO #temp FROM EXEC dbo.usp_Kefalo_Procedura; --?!?! EXEC INTO #temp dbo.usp_Kefalo_Procedura; --?!?!
Jedino ispravno rešenje je unapred kreiranje temp tabele, i njeno punjenje INSERT..EXEC sintaksom:
CREATE TABLE #tempTabela (Kolona INT); INSERT INTO #tempTabela EXEC dbo.usp_Kefalo_Procedura;
Međutim, ukoliko postoje određeni uslovi, moguće je iskoristiti funkciju OPENROWSET i postići željeni cilj. Komanda bi izgledala ovako: