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%',已无记录,
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'
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯