在测试数据库脚本可用性的时候,会新建一个用户然后执行脚本,测试成功之后,需要清空表,下面这篇文章主要给大家介绍了关于Oracle如何清除一个用户下的所有表的相关资料,需要的朋友可以参考下
执行该操作要慎重,不然可能会造成很严重的后果!
使用工具:
- plsql developer
- Oracle 数据库
前段时间部署程序的时候导入数据有问题,需要重新导入。然后保险起见把原来的表全部删掉之后再导入。清表操作就如下步骤进行的。
首先通过要清空表的用户登陆plsql,登陆进入之后sql窗口执行下列语句进行查询全部表:
SELECT 'drop table '|| table_name || ';' FROM USER_TABLES ORDER BY TABLE_NAME;
查询结果如下图:我这里使用Oracle默认orcl库进行演示:
查询出来的结果显示不全,我们点击绿色双箭头将所有结果查询出来。
查询出来之后如下图,将查询结果全部选中复制。
再打开命令窗口,直接粘贴,然后等待执行完毕。这样就可以把用户下的所有表都清除了。
接下来等待全部执行完毕,然后再impdp就ok了。
太高级了,简直简单的不要不要的!!!!!!!
又搞定了一个大事儿。
附:oracle 删除用户和用户下的数据
有两种方法,一种是drop user username;
还有一种是 drop user username cascade;
官方的说明如下:
Dropping a Database User: Example If user Sidney's schema contains no objects, then you can drop sidney by issuing the statement:
DROP USER sidney;
If Sidney's schema contains objects, then you must use the CASCADE clause to drop sidney and the objects:
DROP USER sidney CASCADE;
drop user username必须是这个用户下面没有任何对象;这样才可以使用这个命令,否则就会报错;
如果用户下面有对象,就得用drop user username cascade来删除这个用户以及这个用户下的所有对象了;
同时删除多个用户的话,可以用下面的方法
select 'drop user ' || username || ' cascade' || ';'
from dba_users
可以在后面根据需要加上筛选条件。
把生成的语句,批量执行就可以了。
总结
到此这篇关于Oracle如何清除一个用户下的所有表的文章就介绍到这了,更多相关Oracle清除用户的所有表内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!
本文标题为:Oracle如何清除一个用户下的所有表(谨慎操作!)


基础教程推荐
- 具有负载均衡功能的MySQL服务器集群部署及实现 2023-12-29
- PHP 分页类(模仿google)-面试题目解答 2024-02-14
- mysql语法中有哪些可以删除日志的命令 2024-12-16
- PostgreSQL limit的神奇作用详解 2023-07-21
- 一文快速回顾 Java 操作数据库的方式-JDBC 2024-04-24
- DB2优化(简易版) 2024-01-01
- 如何查看PostgreSQL数据库中所有表 2023-07-21
- CAT分布式实时监控系统使用详解 2024-02-14
- [Redis] redis业务实践 , 这次用哈希 2024-04-24
- docker 安装redis以及删除 2023-09-13