我有一个 SQL 查询(SQL Server)并生成报告,我想将该确切的报告存储在临时表中,以便以后可以使用它。现在的问题是我需要先创建临时表然后将SQL查询结果存储到其中,还是有什么方法可以动态创建表并存储查询结果?
问问题
282895 次
5 回答
128
看看SELECT INTO。这将为您创建一个新表,如果您愿意,可以通过在表名前加上井号 (#) 作为临时表。
例如,您可以这样做:
SELECT *
INTO #YourTempTable
FROM YourReportQuery
于 2012-09-07T18:50:50.743 回答
24
您可以使用select ... into ...
创建和填充临时表,然后查询临时表以返回结果。
select *
into #TempTable
from YourTable
select *
from #TempTable
于 2012-09-07T18:51:29.433 回答
4
在 MySQL 中:
create table temp as select * from original_table
于 2012-09-07T20:19:14.887 回答
3
尝试:
exec('drop table #tab') -- you can add condition 'if table exists'
exec('select * into #tab from tab')
于 2012-09-07T18:53:46.667 回答
1
假设您现有的报告查询是
Select EmployeeId,EmployeeName
from Employee
Where EmployeeId>101 order by EmployeeName
并且您必须将此数据保存到临时表中,然后查询转到
Select EmployeeId,EmployeeName
into #MyTempTable
from Employee
Where EmployeeId>101 order by EmployeeName
于 2017-12-07T10:03:38.967 回答