-3

我创建了一个临时表。然后我运行一个 With 语句。我将结果放在临时表中,然后,在使用数据后,我无法删除它,因为出现此错误:“数据库中已经有一个名为 '#ArmadoPlantilla' 的对象。”

我究竟做错了什么?

4

2 回答 2

1

确保在完成后放下临时表。听起来您创建了临时表,使用了它,然后离开了存储的过程(或其他)而不丢弃它。我通常使用这种方法(尽管@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?

另外...发布您的该死的代码。你是想让我们这么难吗?

于 2012-02-18T00:11:27.647 回答
0

请发布您的代码。您提到的错误消息表明您正在尝试多次创建表。您是否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
于 2012-02-17T17:37:03.480 回答