在创建临时表并像这样声明数据类型之后;

CREATE TABLE #TempTable(
ID int,
Date datetime,
Name char(20))

然后,我如何插入已经在数据库中的物理表上持有的相关数据?


当前回答

要插入所有列中的所有数据,只需使用以下命令:

SELECT * INTO #TempTable
FROM OriginalTable

不要忘记在你完成临时表之后,在你尝试再次创建它之前,DROP它:

DROP TABLE #TempTable

其他回答

insert #temptable
select idfield, datefield, namefield from yourrealtable

创建临时表后,只需执行普通的INSERT INTO () SELECT FROM

INSERT INTO #TempTable (id, Date, Name)
SELECT t.id, t.Date, t.Name
FROM yourTable t
INSERT INTO #TempTable(ID, Date, Name)
SELECT OtherID, OtherDate, OtherName FROM PhysicalTable
INSERT INTO #TempTable (ID, Date, Name) 
SELECT id, date, name 
FROM physical_table
insert into #temptable (col1, col2, col3)
select col1, col2, col3 from othertable

注意,这被认为是糟糕的做法:

insert into #temptable 
select col1, col2, col3 from othertable

如果临时表的定义要更改,则代码可能在运行时失败。