oracle怎样删除当前用户下所有的表

所有表没有外键约束,有删除表的权限。请给出存储过程
你们看题了没有啊,一帮子外行,我要的是存储过程。1楼到5楼的你们就知道抄。

第1个回答  2019-06-17
1、在cmd中输入
sqlplus
/
as
sysdba
2、删除用户a,级所有和用户a关联的数据
drop
user
a
cascade;
3、重建用户a
create
user
a
identified
by
密码;
grant
connect,resource
to
a;
4、登入a用户,就ok了
conn
a/密码
---
意思,希望对你有所帮助。
第2个回答  2008-12-01
高级权限的话,用drop user user_name cascade;把账户和所有数据删除,然后重建账户
普通权限的话,同意
select 'drop table '||table_name||';'
from cat
where table_type='TABLE'
利用cat这个系统视图,将用户所有表生成多行sql语句,如:

1 drop table A;
2 drop table A1;
3 drop table A2;
4 drop table A3;

将这些语句复制进SQLplus,执行即可删除所有表!
虽然弱智,但是比手工删还是快得多!
第3个回答  2008-12-01
如果表空间中表过多的话,直接删除掉表空间,然后重新建立表空间,并将这个表空间连接到该用户上。不过这个最好用DBA的用户来操作,否则会有权限影响。

我很BS LZ,你内行,内行你怎么了,内行你问啥啊问,存储过程不就是一段语句么。有本事自己弄去啊,没见过你这样问问题的。
你自己有写的那么清楚吗?简单一句话,真T M……内行
第4个回答  2008-12-01
select 'drop table '||table_name||';'
from cat
where table_type='TABLE'

输出后,生成一批删除表的SQL语句,这些SQL语句执行一下就可以了。如果不能执行,说明你没有drop table的权限,那就爱莫能助了!

参考资料:http://zhidao.baidu.com/question/71603956.html

第5个回答  2008-12-01
你还不如删除用户后重建用户
或写一个del.sql
把表都删除
drop table 表1
drop table .....
....
commit;
相似回答