繁体   English   中英

如何将SQL查询的输出插入临时表?

[英]How to insert the output of a SQL Query into a temporary table?

我正在使用SQL Server 2012,并且想使用T-SQL执行以下操作:

  1. 创建一个临时表(我们将其称为#temptable )。

  2. 使用SELECT语句将位于现有数据库中的表中的值插入#temptable

  3. 编写一条SELECT语句,以查询#temptable

我尝试了以下操作,但语法似乎不正确,或者也许我不允许这样做。

USE MyDatabase

CREATE TABLE #temptable
GO

INSERT INTO #TempTable
SELECT  [Col A], [Col B], [Col C]

FROM MYLIST

WHERE [MONTH OF STAY] = '2018-03-01'

AND [Property] = 'ABC'

SELECT * FROM #temptable

我该如何前进?

create temp table中 ,您还需要指定列和数据类型。 临时表的创建就像持久性表一样。 但是,您可以使用Select Into语句,它将根据给定的Select语句自动创建表。

USE MyDatabase
GO

IF OBJECT_ID('tempdb..#TempTable') Is Not null
    Drop Table #TempTable

SELECT  [Col A], [Col B], [Col C]
INTO #TempTable -- <<<<<
FROM MYLIST

WHERE [MONTH OF STAY] = '2018-03-01'

AND [Property] = 'ABC'

SELECT * FROM #temptable

在上面的代码中,您需要检查具有给定名称的表是否存在? 如果存在,则需要先将其删除,然后再执行Select Into 因为Select Into将自动为您创建表,并且如果存在具有相同名称的表,则将出现错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM