У меня есть SQL-запрос (SQL Server), и он генерирует отчеты, я хочу сохранить этот точный отчет в таблице temp, чтобы потом поиграть с ним. Теперь вопрос в том, что мне нужно сначала создать временную таблицу, а затем сохранить в ней результат SQL-запроса или есть ли способ динамически создать таблицу и сохранить результат запроса?
Как результат запроса SQL вставляется в таблицу temp?
Ответ 1
Посмотрите SELECT INTO. Это создаст для вас новую таблицу, которая может быть временной, если вы хотите, указав имя таблицы значком фунта (#).
Например, вы можете:
SELECT *
INTO #YourTempTable
FROM YourReportQuery
Ответ 2
Вы можете использовать select ... into ...
для создания и заполнения таблицы temp, а затем запросить таблицу temp, чтобы вернуть результат.
select *
into #TempTable
from YourTable
select *
from #TempTable
Ответ 3
В mysql: создать таблицу temp как select * from original_table
Ответ 4
Try:
exec('drop table #tab') -- you can add condition 'if table exists'
exec('select * into #tab from tab')
Ответ 5
Предположим, что ваш существующий запрос отчетов
Select EmployeeId,EmployeeName from Employee Where EmployeeId>101 order by EmployeeName
и вам нужно сохранить эти данные в таблице tempory, после чего запрос будет отправлен в
Select EmployeeId,EmployeeName into #MyTempTable from Employee Where EmployeeId>101 order by EmployeeName