如何从临时表插入表?

时间:2015-09-02 10:24:06

标签: sql sql-server sql-server-2008 temp-tables

我已经在临时表中有值,我想将它插入到我的表中。

我遵循这个语法

IF NOT EXISTS (SELECT 1 FROM ABC abc JOIN #Temp t ON abc.ID = t.ID)

insert into MyTable(Id,Name)
select values (t.ID, t.Name)
From t

我只是将名称t作为我在插入之前的条件中创建的别名。

这是对的吗?有些人使用@等我很困惑。

5 个答案:

答案 0 :(得分:2)

正确的语法:

insert into MyTable(Id,Name)
select t.ID, t.Name
From #temp t

始终read manual

答案 1 :(得分:0)

您可以查看

insert into Table1(Id,Name) 
select ID,Name
From t

答案 2 :(得分:0)

插入table_name(column_name1,column_name2,column_name3) (选择temp_table_col1_1,temp_table_col1_1,temp_table_col1_1  来自temp_table_name  )

答案 3 :(得分:0)

试试这个

INSERT INTO Table1(Id, Name)
SELECT t.ID, t.Name FROM t

答案 4 :(得分:0)

请尝试使用以下代码段。

IF NOT EXISTS (SELECT 1 FROM ABC abc JOIN #Temp t ON abc.ID = t.ID)

    insert into MyTable(Id,Name) select t.ID, t.Name From #Temp t

临时表

CREATE TABLE #Temp1 ( Name VARCHAR(MAX) )

全球临时表

CREATE TABLE ##Temp1 ( Name VARCHAR(MAX) )

表变量

DECLARE @Temp1 TABLE( Name VARCHAR(MAX) ) 

在SQL Server中,对于临时表,我们使用了#'#'对于表变量,我们使用了' @'。 有关临时表和表变量的更多详细信息,请查看this