在创建临时表并像这样声明数据类型之后;
CREATE TABLE #TempTable(
ID int,
Date datetime,
Name char(20))
然后,我如何插入已经在数据库中的物理表上持有的相关数据?
在创建临时表并像这样声明数据类型之后;
CREATE TABLE #TempTable(
ID int,
Date datetime,
Name char(20))
然后,我如何插入已经在数据库中的物理表上持有的相关数据?
当前回答
正确的查询:
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
其他回答
我在SQL Server中插入的方法。此外,我通常检查是否存在临时表。
IF OBJECT_ID('tempdb..#MyTable') IS NOT NULL DROP Table #MyTable
SELECT b.Val as 'bVals'
INTO #MyTable
FROM OtherTable as b
创建临时表后,只需执行普通的INSERT INTO () SELECT FROM
INSERT INTO #TempTable (id, Date, Name)
SELECT t.id, t.Date, t.Name
FROM yourTable t
我提供了两种方法来解决同一个问题,
解决方案1:这种方法包括2步,首先创建一个临时表 指定的数据类型,然后从现有数据中插入值 表格
CREATE TABLE #TempStudent(tempID int, tempName varchar(MAX) )
INSERT INTO #TempStudent(tempID, tempName) SELECT id, studName FROM students where id =1
SELECT * FROM #TempStudent
解决方案2:这种方法很简单,您可以直接将值插入到 临时表,由系统自动创建 与原始表具有相同数据类型的临时表。
SELECT id, studName INTO #TempStudent FROM students where id =1
SELECT * FROM #TempStudent
临时表的基本操作如下,请根据您的要求修改和使用,
——创建临时表
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
SELECT ID , Date , Name into #temp from [TableName]