分为如下步骤:
1.获取表名,并生成Drop语句
2.执行Drop语句,递归1,2步骤直至全部表清空或只余下无法删除的表
3.对于无法删除的表,需要通过alter修改其参数,再执行删除语句
4.确认所有的表都已经被删除
1.获取全部的表名:USERNAME参数为用户名,部分数据库不需要以用 户名.表名的形式删除,则可省略第一个USERNAME参数//建议最好加上,防止误删其他用户下的表
SELECT 'DROP table USERNAME.'||table_name||';' FROM all_tables WHERE owner='USERNAME';
2.第一个SQL语句批量查询了数据库中的所有表,并生成了Drop语句.批量执行该DROP语句,即可对数据库中的表进行删除。但有部分表存在无法删除的情况,需要对1,2两步递归执行,直至全部删除或只余下部分不可删除的部分。
********************还未尝试下列操作*****************************
3.通过alter语句修改表的结构与状态,删除无法通过常规方式删除的表
alter session set events'10851 trace name context forever,level 1';