SQL查询结果如何在临时表中插入?

时间:2012-09-07 18:48:43

标签: sql sql-server

我有一个SQL查询(SQL Server)并且它生成报告,我想将该确切的报告存储在临时表中,以便稍后我可以使用它。现在问题是我需要先创建临时表,然后将SQL查询结果存储到其中,还是有什么方法可以动态创建表和存储查询结果?

5 个答案:

答案 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