hab eine tolle Möglichkeit für (zumindest ein paar Anwendungsfälle) das direkte Insert (ohne vorheriges Create #TempTable) aus einer Stored Procedure heraus gefunden:
http://stackoverflow.com/questions/653714/how-to-select-into-temp-table-from-stored-procedure

select * into #TempTable
from OPENROWSET ('SQLNCLI', 'Server=(local);Trusted_Connection=yes;', 'Exec dbo.USP_TestProc')

legt automatisch einen Temptable an mit den Spalten aus Ergebnis von exec dbo.USP_TestProc

allerdings einen Nachteil hat diese Sache; man kann keine Parameter übergben - bei Parametern bleib einem also nichts anderes übrig, als

create #TempTable ( spalten ....)
insert into #TempTable
exec dbo.USP_TestProc