如果它存在,我试图通过临时表删除,但我收到下面的错误。我过去曾经使用过这种方法,我不知道为什么它在这种情况下不起作用。
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'无效。
答案 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;