如何将 SQL 查询的输出插入临时 table?
How to insert the output of a SQL Query into a temporary table?
我正在使用 SQL Server 2012,我想使用 T-SQL 执行以下操作:
创建临时 table(我们称之为 #temptable
)。
将位于现有数据库中的 table 中的值插入到
#temptable
使用 SELECT
语句。
编写一个 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中,您还需要指定列和数据类型。临时 table 的创建就像持久性 table 一样。
但是,您可以使用 Select Into
语句,它将根据给定的 Select
语句自动创建 table
试试这个:
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
在上面的代码中,您需要检查给定名称的 table 是否存在?如果存在,则需要在执行 Select Into
之前删除它。因为 Select Into
会自动为你创建 table,如果存在同名的 table,那么你会得到错误。
我正在使用 SQL Server 2012,我想使用 T-SQL 执行以下操作:
创建临时 table(我们称之为
#temptable
)。将位于现有数据库中的 table 中的值插入到
#temptable
使用SELECT
语句。编写一个
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中,您还需要指定列和数据类型。临时 table 的创建就像持久性 table 一样。
但是,您可以使用 Select Into
语句,它将根据给定的 Select
语句自动创建 table
试试这个:
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
在上面的代码中,您需要检查给定名称的 table 是否存在?如果存在,则需要在执行 Select Into
之前删除它。因为 Select Into
会自动为你创建 table,如果存在同名的 table,那么你会得到错误。