oracle 用户如何删除自己的所有数据表,视图等等?
注意:,没有DBA权限,也无法取得DBa权限(单位烂规定),只有普通用户权限,用户下有五千张表和6千个视图,..............................
注意:,没有DBA权限,也无法取得DBa权限(单位烂规定), 只有普通用户权限,用户下有五千张表和6千个视图,...........................
展开
3个回答
展开全部
在 dba_objects 找到用户所属的表和视图,在写过存储过程用,动态语句循环删除,这样应该可以试试:
SELECT * FROM dba_objects where owner=‘TEST’ AND object_type in ('TABLE','VIEW')
SELECT * FROM dba_objects where owner=‘TEST’ AND object_type in ('TABLE','VIEW')
追问
不是说了没有SYSDBA了么, 看不到那个dba_objects
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
set feedback off heading off verify off trimspool off
set pagesize 0 linesize 200
spool dropall.sql
select 'drop talbe '||object_name||';' from user_objects where object_type='TABLE';
select 'drop view '||object_name||';' from user_objects where object_type='VIEW';
spool off
dropall.sql
set pagesize 0 linesize 200
spool dropall.sql
select 'drop talbe '||object_name||';' from user_objects where object_type='TABLE';
select 'drop view '||object_name||';' from user_objects where object_type='VIEW';
spool off
dropall.sql
追问
最后用的navicat , 全选→删除表, 两步搞定
追答
呵呵,也是可以的
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这些这2个sql语句,然后把结果拷贝出来,执行即可:
select 'drop table '||tname||';' from tab where tabtype='TABLE';
select 'drop view '||tname||';' from tab where tabtype='VIEW';
select 'drop table '||tname||';' from tab where tabtype='TABLE';
select 'drop view '||tname||';' from tab where tabtype='VIEW';
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询