Как вставить результат SQL запроса во временную таблицу? [дубликат]


этот вопрос уже есть ответ здесь:

  • Как сохранить результаты запроса select во временной таблице? 3 ответы

У меня есть SQL-запрос (SQL Server), и он генерирует отчеты, я хочу сохранить этот точный отчет во временной таблице, чтобы я мог играть с ним позже. Теперь вопрос в том, нужно ли сначала создать временную таблицу, а затем сохранить SQL-запрос результат в него, или есть ли способ динамически создавать таблицу и хранить результат запроса?

5 64

5 ответов:

посмотреть ВЫБОР. Это создаст для вас новую таблицу, которая может быть временной, если вы хотите, префикс имени таблицы со знаком фунта (#).

например, вы можете сделать:

SELECT * 
INTO #YourTempTable
FROM YourReportQuery

можно использовать select ... into ... чтобы создать и заполнить временную таблицу, а затем запросить временную таблицу для возврата результата.

select *
into #TempTable
from YourTable

select *
from #TempTable

В MySQL:

create table temp as select * from original_table

попробуй:

exec('drop table #tab') -- you can add condition 'if table exists'
exec('select * into #tab from tab')

предположим, что ваш существующий отчет запрос

Select EmployeeId,EmployeeName 
from Employee 
Where EmployeeId>101 order by EmployeeName

и вы должны сохранить эти данные в temparory таблице, то вы запрос идет к

Select EmployeeId,EmployeeName 
into #MyTempTable 
from Employee 
Where EmployeeId>101 order by EmployeeName