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

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

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


当前回答

临时表的基本操作如下,请根据您的要求修改和使用,

——创建临时表

CREATE TABLE #MyTempEmployeeTable(tempUserID  varchar(MAX), tempUserName  varchar(MAX) )

——向临时表中插入值

INSERT INTO #MyTempEmployeeTable(tempUserID,tempUserName) SELECT userid,username FROM users where userid =21

查询一个临时表[这将只在同一个会话/实例中工作,而不是在其他用户会话实例中]

SELECT * FROM #MyTempEmployeeTable

——删除temp表中的值

DELETE FROM #MyTempEmployeeTable

——删除一个临时表

DROP TABLE #MyTempEmployeeTable

其他回答

INSERT INTO #TempTable (ID, Date, Name) 
SELECT id, date, name 
FROM physical_table

我在SQL Server中插入的方法。此外,我通常检查是否存在临时表。

IF OBJECT_ID('tempdb..#MyTable') IS NOT NULL DROP Table #MyTable

SELECT b.Val as 'bVals'
  INTO #MyTable
FROM OtherTable as b

正确的查询:

drop table #tmp_table

select new_acc_no, count(new_acc_no) as count1
into #tmp_table
from table
where unit_id = '0007' 
group by unit_id, new_acc_no
having count(new_acc_no) > 1

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

INSERT INTO #TempTable (id, Date, Name)
SELECT t.id, t.Date, t.Name
FROM yourTable t
insert #temptable
select idfield, datefield, namefield from yourrealtable