Существует метод создания временной таблицы dummy с одним столбцом идентификаторов, затем изменение этой таблицы с требуемой схемой посредством динамического SQL и заполнение ее. Таким образом, вы можете использовать временную таблицу как в динамическом, так и в регулярном SQL, объединяясь с ним ...
-- Create dummy table
CREATE TABLE #tmpContactData (PK int NOT NULL IDENTITY(1,1))
-- Alter its schema
DECLARE @sqlCommand nvarchar(max)
SELECT @sqlCommand = '
ALTER TABLE #tmpContactData
ADD
EmployeeId int,
Address varchar(100),
Phone varchar(50)
'
EXECUTE(@sqlCommand)
-- Fill it
SELECT @sqlCommand = '
INSERT INTO #tmpContactData
SELECT t.EmployeeId, t.Address, t.Phone
FROM ( SELECT EmployeeId=1000, Address=''Address 1000'', Phone=''Phone 1000''
UNION
SELECT 1001, ''Address 1001'', ''Phone 1001''
UNION
SELECT 1002, ''Address 1002'', ''Phone 1002''
) t
'
EXECUTE(@sqlCommand)
--select from it
SELECT * FROM #tmpContactData
--CleanUp
DROP TABLE #tmpContactData