TSQL select into Temp table from dynamic sql
A working example.
DECLARE @TableName AS VARCHAR(100)SELECT @TableName = 'YourTableName'EXECUTE ('SELECT * INTO #TEMP FROM ' + @TableName +'; SELECT * FROM #TEMP;')
Second solution with accessible temp table
DECLARE @TableName AS VARCHAR(100)SELECT @TableName = 'YOUR_TABLE_NAME'EXECUTE ('CREATE VIEW vTemp AS SELECT * FROM ' + @TableName)SELECT * INTO #TEMP FROM vTemp --DROP THE VIEW HERE DROP VIEW vTemp/*START USING TEMP TABLE************************/--EX:SELECT * FROM #TEMP--DROP YOUR TEMP TABLE HEREDROP TABLE #TEMP
declare @sql varchar(100);declare @tablename as varchar(100);select @tablename = 'your_table_name';create table #tmp (col1 int, col2 int, col3 int);set @sql = 'select aa, bb, cc from ' + @tablename;insert into #tmp(col1, col2, col3) exec( @sql );select * from #tmp;
How I did it with a pivot in dynamic sql (#AccPurch was created prior to this)
DECLARE @sql AS nvarchar(MAX)declare @Month Nvarchar(1000)--DROP TABLE #tempselect distinct YYYYMM into #temp from #AccPurch AS apSELECT @Month = COALESCE(@Month, '') + '[' + CAST(YYYYMM AS VarChar(8)) + '],' FROM #tempSELECT @Month= LEFT(@Month,len(@Month)-1)SET @sql = N'SELECT UserID, '+ @Month + N' into ##final_Donovan_12345 FROM (Select ap.AccPurch , ap.YYYYMM , ap.UserID , ap.AccountNumberFROM #AccPurch AS ap ) pPivot (SUM(AccPurch) FOR YYYYMM IN ('+@Month+ N')) as pvt'EXEC sp_executesql @sqlSelect * INTO #final From ##final_Donovan_12345DROP TABLE ##final_Donovan_12345Select * From #final AS f