Sql server 2012 SQL Server临时表中的异常行为

Sql server 2012 SQL Server临时表中的异常行为,sql-server-2012,temp-tables,Sql Server 2012,Temp Tables,我不明白为什么下面的代码返回错误 Msg 2714,第16级,状态1,第16行 数据库中已经有一个名为“#tentable”的对象 如果第1-5行和第6-8行分别执行,则可以正常工作。我想我遗漏了一些关于SQLServer如何处理查询的基本信息。请一位大师解释一下这个问题 select top 10 col1, col2 into #temptable from tbl if object_id('tempdb..#temptable') is not null drop table #

我不明白为什么下面的代码返回错误

Msg 2714,第16级,状态1,第16行
数据库中已经有一个名为“#tentable”的对象

如果第1-5行和第6-8行分别执行,则可以正常工作。我想我遗漏了一些关于SQLServer如何处理查询的基本信息。请一位大师解释一下这个问题

select top 10 col1, col2
into #temptable
from tbl

if object_id('tempdb..#temptable') is not null
   drop table #temptable

select top 10 col1, col2
into #temptable
from tbl

编译批处理时,而不是执行批处理时,代码将失败

该行为记录在

如果在单个存储空间中创建了多个临时表 过程或批处理,它们必须具有不同的名称