如何删除oracle中指定用户下的所有表

指定用户下或指定表空间下... 指定用户下或指定表空间下 展开
 我来答
百度网友237766beb
2011-01-18 · TA获得超过691个赞
知道小有建树答主
回答量:421
采纳率:0%
帮助的人:410万
展开全部
删除指定表空间是这样:
drop tablespace test1 including contents cascade constraints;
之后还要手动删除数据文件,因为上述操作只是删除了控制文件和数据字典中的记录。如果想简单可以使用OEM来删除,但我并不推荐。
删除指定表空间下的表使用select table_name,tablespace_name from user_talbes;然后把这些表做删除,可能会比较麻烦。
——————————————————
因为我手上没有oracle,所以看不到数据字典,我记得desc user_tables应该可以看到一个owner之类的,总之就是可以确定表格的归属,然后删除。楼上说删除用户的方法也不是很好。如果不是很清楚依然可以使用oem操作,然后选择显示SQL,就可以看到了。
lrsdd
2011-01-18
知道答主
回答量:13
采纳率:0%
帮助的人:18.6万
展开全部
drop user USER cascade 删除用户以及所有关联数据
或者
select 'drop table '||table_name from user_tables;
执行查询结果语句,删除所有表
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
勋家小猫
推荐于2016-08-02 · TA获得超过201个赞
知道小有建树答主
回答量:129
采纳率:0%
帮助的人:117万
展开全部
在该用户下写一个存储过程(要保证该用户并不是以dba身份登录的,不然会把系统表都删掉哦)
create or replace procedure pro_droptable is
cursor cur is select table_name from user_tables;
drop_sql varchar2(1000);
begin
for tbname in cur loop
begin
drop_sql:='drop table '||tbname.table_name;
execute immediate drop_sql;
end;
end loop;
end pro_droptable;

然后执行就OK啦
执行语句:call pro_droptable()
来自:求助得到的回答
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-01-18
展开全部
删除用户 然后重建....
这样最快
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wacthamu
2011-01-18 · 超过10用户采纳过TA的回答
知道答主
回答量:27
采纳率:0%
帮助的人:27.5万
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式