SQL Server丢弃表错误

时间:2016-07-08 03:13:26

标签: sql-server

如果它存在,我试图通过临时表删除,但我收到下面的错误。我过去曾经使用过这种方法,我不知道为什么它在这种情况下不起作用。

SQL

Create table mytable(col_a int)

insert into mytable
values(1)

IF object_id(#temp, 'U') IS NOT NULL 
   drop table #temp

select * 
into #temp 
from dbo.mytable

错误:

  

Msg 207,Level 16,State 1,Line 8
  列名称'#temp'无效。

2 个答案:

答案 0 :(得分:3)

它是临时表,而不是物理表。试试这个。

Create table mytable(col_a int)
insert into mytable
values(1)

IF OBJECT_ID('tempdb..#temp') IS NOT NULL DROP TABLE #temp
Select * into #temp from dbo.mytable

答案 1 :(得分:3)

对于来自SQL Server 2016的未来访客(问候!)

DROP TABLE IF EXISTS #temp;