执行了第二句,为什么还会显示“数据库中已存在名为'#table' 的对象”。

时间:2021-08-25 20:48:26
select 1 as '1' into #table 
Drop Table #table
select 2 as '2' into #table

消息2714,级别16,状态1,第3 行
数据库中已存在名为'#table' 的对象。

3 个解决方案

#1


表名相同只能用动态

#2


表名相同,列不相同只能这样用
遇到这类情况就最定义不相同临时表名
SELECT 1 as '1' into #table 
select * from #table
Drop Table #table
EXEC('select 2 as ''2'' into #table; select * from #table')

#3


非常感谢二三楼的朋友

#1


表名相同只能用动态

#2


表名相同,列不相同只能这样用
遇到这类情况就最定义不相同临时表名
SELECT 1 as '1' into #table 
select * from #table
Drop Table #table
EXEC('select 2 as ''2'' into #table; select * from #table')

#3


非常感谢二三楼的朋友