永发信息网

如何清空oracle数据库所有表

答案:3  悬赏:0  手机版
解决时间 2021-03-27 10:01
  • 提问者网友:鐵馬踏冰河
  • 2021-03-26 18:53
如何清空oracle数据库所有表
最佳答案
  • 五星知识达人网友:逃夭
  • 2021-03-26 20:04
可以使用以下3种方式实现:


1、如果有plsql客户端,则可以使用该用户登录,选中所有表 右键Drop即可。


2、如果有删除用户的权限,则可以写:
drop user user_name cascade;加了cascade就可以把用户连带的数据全部删掉。


3、如果没有删除用户的权限,则可以执行:
select 'drop table '||table_name||';' from cat where table_type='TABLE'
全部回答
  • 1楼网友:旧脸谱
  • 2021-03-26 20:36
可不敢乱来,从你打开的这个开,你看到的应该是系统库的表和视图之类的,你删了这些你数据库就别想用了;如果是新建数据库用户的话,里面默认好像是没什么表的,如果你是使用SQL文件建的,你只需要把这个数据库用户删掉,拷贝里面的建库的那个语句考出来执行下即可,建立的就是一个空的数据库
  • 2楼网友:掌灯师
  • 2021-03-26 20:13

创建个存储过程来执行啦
 
在plsql中把以下代码复制粘贴,并运行create or replace PROCEDURE SP_DROPTABLE
(v_begintime in varchar2,
v_endtime in varchar2)
as
v_tablename varchar2(256);
cursor cur_tablename is
select object_name from user_objects where object_type='TABLE' and to_char(CREATED,'yyyy-mm-dd')
between v_begintime
and v_endtime order by CREATED desc;
begin
open cur_tablename;
loop
fetch cur_tablename into v_tablename;
exit when cur_tablename%notfound;
execute immediate 'drop table '||v_tablename||'';
end loop;
close cur_tablename;
end sp_droptable;
 
然后,另开一个sql窗口,执行 begin
SP_DROPTABLE('1900-01-01','2013-12-31');
end;
 
如有问题,请查看浏览器右上角处
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯