关于一个数据库对象删除的问题

yyhust2 2009-12-09 01:17:47
上午建立了一个存储过程,存储过程中使用了缓存表,脚本如下
CREATE TABLE #tCuP(
[CostLineCode] [varchar](50) COLLATE Chinese_PRC_CI_AI NOT NULL,
[CuP] [numeric](8, 2) NULL CONSTRAINT [DF_TCuP_TCuP] DEFAULT ((0.00))
) ON [PRIMARY]
在这张缓存表中进行了一些操作后
没有删除该表,又作了一些测试后,发现每次运行存储过程都会提示错误,如下:
There is already an object named 'DF_TCuP_TCuP' in the database.
使用如下脚本在数据库查出了该对象。
USE TEMPDB
GO
select * from sysobjects where name like 'DF_TCuP_TCuP'
我使用
DROP TABLE #tCuP 提示错误如下:
Msg 3701, Level 11, State 5, Line 1
Cannot drop the table '#tCuP', because it does not exist or you do not have permission.

并且在 TEMPDB 使用如下脚本希望能删除'DF_TCuP_TCuP'对象,也无法删除,
该如何解决这个问题,
...全文
133 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yyhust2 2009-12-09
  • 打赏
  • 举报
回复
我看了一下,在tempdb库的 temporary table中果然有两个
缓存表 一个是
dbo.#tCuP_______________________________________________________________________________________________________________0000000003CE
一个是
dbo.#tCuP_______________________________________________________________________________________________________________0000000003D1
是这两张表的原因吗?
yyhust2 2009-12-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 fredrickhu 的回复:]
你的#tCuP在TEMPDB库里吗?
[/Quote]
存储过程中建立缓存表没有说明在哪建立这个缓存表,应该就是在默认的数据库中建立的吧。
快乐_石头 2009-12-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 fredrickhu 的回复:]
你的#tCuP在TEMPDB库里吗?
[/Quote]
#tCuP會不在TEMPDB库里吗
yyhust2 2009-12-09
  • 打赏
  • 举报
回复
是的我在当前库中DROP的
--小F-- 2009-12-09
  • 打赏
  • 举报
回复
你的#tCuP在TEMPDB库里吗?
  • 打赏
  • 举报
回复
if object_id(' #tCuP) is not null
drop table #tCuP
go

CREATE TABLE #tCuP(
[CostLineCode] [varchar](50) COLLATE Chinese_PRC_CI_AI NOT NULL,
[CuP] [numeric](8, 2) NULL CONSTRAINT [DF_TCuP_TCuP] DEFAULT ((0.00))
) ON [PRIMARY]
-狙击手- 2009-12-09
  • 打赏
  • 举报
回复
在当前库直接drop

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧