我有一个SQL查询(SQL Server)并且它生成报告,我想将该确切的报告存储在临时表中,以便稍后我可以使用它。现在问题是我需要先创建临时表,然后将SQL查询结果存储到其中,还是有什么方法可以动态创建表和存储查询结果?
答案 0 :(得分:111)
看看SELECT INTO。这将为您创建一个新表,如果您希望通过在表名前加上井号(#),则可以是临时表。
例如,你可以这样做:
SELECT *
INTO #YourTempTable
FROM YourReportQuery
答案 1 :(得分:23)
您可以使用select ... into ...
创建和填充临时表,然后查询临时表以返回结果。
select *
into #TempTable
from YourTable
select *
from #TempTable
答案 2 :(得分:4)
在MySQL中:
create table temp as select * from original_table
答案 3 :(得分:3)
尝试:
exec('drop table #tab') -- you can add condition 'if table exists'
exec('select * into #tab from tab')
答案 4 :(得分:0)
假设您现有的报告查询
Select EmployeeId,EmployeeName
from Employee
Where EmployeeId>101 order by EmployeeName
并且您必须将此数据保存到临时表中,然后查询转到
Select EmployeeId,EmployeeName
into #MyTempTable
from Employee
Where EmployeeId>101 order by EmployeeName