Oracle清空或者删除当前用户下所有的表
2015-11-23 00:28
525 查看
场景 :手动或者动态脚本清除 Oracle清空或者删除当前用户所有的表
方法一:
使用pl/sql客户端,使用该用户登录,选中所有表 右键drop即可
方法二:
前提:该用户 有此权限
然后 拷贝其 SQL ,进行删除
方法三:
使用存储过程删除该用户下所有的表
方法一:
使用pl/sql客户端,使用该用户登录,选中所有表 右键drop即可
方法二:
前提:该用户 有此权限
select 'drop table '||table_name||';' from user_tables;
然后 拷贝其 SQL ,进行删除
方法三:
使用存储过程删除该用户下所有的表
set ECHO ON set define off SPOOL logs/create_procedure.log --删除所有表的存储过程; create or replace procedure P_DROP_ALL_TABLE as --引用user_tables表中的tableName的类型; tableName user_tables.table_name%type; type ty is record(table_name varchar2(30)); --定义ref类型游标;-强类型 type ref_type is ref cursor return ty; ref_t ref_type; --定义变量存储数量; mycount number(10); begin --打开游标; open ref_t for select table_name from user_tables; loop --从游标中获取一条记录,放入变量中; fetch ref_t into tableName; SELECT COUNT(*) INTO mycount FROM user_tables WHERE TABLE_NAME = tableName; if mycount>0 then execute immediate 'DROP TABLE '||tableName || ' CASCADE CONSTRAINT '; end if; exit when ref_t%notfound; --退出; end loop; close ref_t; end; /清除的话,将 drop 替换为 truncate 或者 delete ,过程 同上
相关文章推荐
- Oracle数据库按时间进行分组统计数据的方法
- oracle 数据库小知识总结
- oracle实例管理
- 初学oracle之virturalbox安装快完成的时候立即回滚rollback,并弹出严重错误?----已解决
- 不安装oracle11g客户端,用plsql连接oracle11g
- 转帖:PLSQL怎么创建oracle数据库用户
- linux下Oracle 10g安装(超级详细图解教程)
- Oracle 中使用fetch bulk collect into 批量效率的读取游标数据
- oracle的另外一个图形界面开发工具
- 阅读Oracle官方文档一步步学习Oracle知识的正确顺序
- oracle优化几点注意
- Oracle11gR2的安装和卸载
- Oracle 中Merge into 的用法
- 将VF的dbf文件导入到oracle数据库的方法
- Oracle函数列表速查
- 利用TOAD实现EXCEL数据在oracle的导入导出
- Oracle 常用SQL技巧收藏
- Oracle事务处理
- Oracle 表操作(三)
- Oracle12c学习(一)---Redhat Enterprise Linux7安装Oracle12c(Oracle11g)