簡體   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