在创建临时表并像这样声明数据类型之后;
CREATE TABLE #TempTable(
ID int,
Date datetime,
Name char(20))
然后,我如何插入已经在数据库中的物理表上持有的相关数据?
在创建临时表并像这样声明数据类型之后;
CREATE TABLE #TempTable(
ID int,
Date datetime,
Name char(20))
然后,我如何插入已经在数据库中的物理表上持有的相关数据?
当前回答
我在SQL Server中插入的方法。此外,我通常检查是否存在临时表。
IF OBJECT_ID('tempdb..#MyTable') IS NOT NULL DROP Table #MyTable
SELECT b.Val as 'bVals'
INTO #MyTable
FROM OtherTable as b
其他回答
要插入所有列中的所有数据,只需使用以下命令:
SELECT * INTO #TempTable
FROM OriginalTable
不要忘记在你完成临时表之后,在你尝试再次创建它之前,DROP它:
DROP TABLE #TempTable
临时表的基本操作如下,请根据您的要求修改和使用,
——创建临时表
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 #temptable
select idfield, datefield, namefield from yourrealtable
INSERT INTO #TempTable (ID, Date, Name)
SELECT id, date, name
FROM physical_table
上面提到的所有答案几乎都能达到目的。但是,在对临时表进行了所有操作之后,您需要删除它。你可以跟着-
INSERT INTO #TempTable (ID, Date, Name)
SELECT id, date, name
FROM physical_table;
IF OBJECT_ID('tempdb.dbo.#TempTable') IS NOT NULL
DROP TABLE #TempTable;