数据库中已经有一个名为“##Temp”的对象

新手上路,请多包涵

我在 SQL Server 2000 上有一个存储过程。它包含:

select ... into ##Temp ... ... drop table ##Temp

当我第二次使用 ADO 运行存储过程时,它会提示:

数据库中已经有一个名为“##Temp”的对象。

谁能告诉我怎么了?

原文由 phoenies 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 862
2 个回答

如果临时表存在,您应该重新编写存储过程以删除临时表,那么您将永远不会遇到此问题

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

原文由 Jon Freedman 发布,翻译遵循 CC BY-SA 2.5 许可协议

哦,都是我的错。我错误地通过一个连接呼叫了 SP 两次。

这就是为什么它在第二次调用时总是报错。

当然,看我的描述你不会知道的。对不起大家…

原文由 phoenies 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进