我创建了一个临时表。然后我运行一个 With 语句。我将结果放在临时表中,然后,在使用数据后,我无法删除它,因为出现此错误:“数据库中已经有一个名为 '#ArmadoPlantilla' 的对象。”
我究竟做错了什么?
我创建了一个临时表。然后我运行一个 With 语句。我将结果放在临时表中,然后,在使用数据后,我无法删除它,因为出现此错误:“数据库中已经有一个名为 '#ArmadoPlantilla' 的对象。”
我究竟做错了什么?
确保在完成后放下临时表。听起来您创建了临时表,使用了它,然后离开了存储的过程(或其他)而不丢弃它。我通常使用这种方法(尽管@Giscard 可能有效):
CREATE TABLE #ArmandoPlantilla(
whatever int,
whateverAgain char(30) )
--sql inserting records and doign stuff with the temp table
drop table #ArmandoPlantilla -- **HERE** Are you missing this?
另外...发布您的该死的代码。你是想让我们这么难吗?
请发布您的代码。您提到的错误消息表明您正在尝试多次创建表。您是否select ... into #ArmandoPlantilla...
在创建表后使用插入临时表?
下面是一个示例,说明如何确保在脚本开始时删除并重新创建临时表。您应该能够修改为仅在临时表尚不存在时创建:
if object_id('tempdb..#ArmandoPlantilla') is not null begin drop table #ArmandoPlantilla end
go
create table #ArmandoPlantilla (id int not null)
go
with f as (
select 1 as [id]
union select 2
)
insert #ArmandoPlantilla
select * from f
go
select * from #ArmandoPlantilla