永发信息网

oracle怎么删除所有数据库表

答案:4  悬赏:20  手机版
解决时间 2021-03-04 12:50
  • 提问者网友:浮克旳回音
  • 2021-03-04 09:45
oracle怎么删除所有数据库表
最佳答案
  • 五星知识达人网友:詩光轨車
  • 2021-03-04 11:01
1、先查询本库所有表,本文以TEST开头表为例,select * from user_tables t where table_name like 'TEST%';



2、查询表的数量,select count(*) from user_tables t where table_name like 'TEST%';



3、编写删除表的sql脚本,
declare
  v_sql varchar2(200);
  v_cnt number(10);
begin
  for v_tab in (select table_name from user_tables t where table_name like 'TEST%') loop
    v_sql := 'drop table '|| v_tab.table_name;
    execute immediate v_sql ;
  end loop;
end;



4、再次查看TEST开头的表,select * from user_tables t where table_name like 'TEST%',已无记录,

全部回答
  • 1楼网友:不如潦草
  • 2021-03-04 13:49
可以使用以下3种方式实现: 1、如果有plsql客户端,则可以使用该用户登录,选中所有表 右键Drop即可。 2、如果有删除用户的权限,则可以写: drop user user_name cascade; 加了cascade就可以把用户连带的数据全部删掉。 3、如果没有删除用户的权限,则可以执行: select 'drop table '||table_name||';' from cat where table_type='TABLE'
  • 2楼网友:轮獄道
  • 2021-03-04 13:06
1. 删除无任何数据对象的表空间: 首先使用pl/sql界面化工具,或者使用oracle自带的sql plus工具,连接需要删除的表空间的oracle数据局库。 确认当前用户是否有删除表空间的权限,如果没有 drop tablespace,请先用更高级的用户(如sys)给予授权或者直接用更高级的用户。 用drop tablespace xxx ,删除需要删除的表空间。 2. 删除有任何数据对象的表空间 使用drop tablespace xxx including contents and datafiles;来删除表空间。 3. 注意事项: 如果drop tablespace语句中含有datafiles,那datafiles之前必须有contents关键字,不然会提示ora-01911错误
  • 3楼网友:一叶十三刺
  • 2021-03-04 12:08
可以使用以下3种方式实现: 1、如果有plsql客户端,则可以使用该用户登录,选中所有表 右键Drop即可。 2、如果有删除用户的权限,则可以写: drop user user_name cascade;加了cascade就可以把用户连带的数据全部删掉。 3、如果没有删除用户的权限,则可以执行: select 'drop table '||table_name||';' from cat where table_type='TABLE'
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯