2010-08-13 65 views
10

我有SQL Server的存储过程名为“##临时”的对象2000年,包含:
select ... into ##Temp ...
...
drop table ##Temp
目前已经在数据库

当我运行与ADO的存储过程中第二次,它提示:
数据库中已经有一个名为'## Temp'的对象。
任何人都可以告诉我有什么问题吗?

+0

你不能只使用表变量(select .. into @temp)。那么你不必担心释放表,等等。 – RPM1984 2010-08-13 05:22:09

+0

表结构是动态的。这就是我使用临时表的原因。 – phoenies 2010-08-13 06:15:54

回答

18

你应该重新写你的存储过程,如果它存在删除该临时表,那么你永远不会有这个问题

IF (SELECT object_id('TempDB..##Temp')) IS NOT NULL 
BEGIN 
    DROP TABLE ##Temp 
END 
+0

错误是<在数据库中已经有一个名为'## Temp'的对象>因此,