oracle删除用户所有表

在删除数据表的时候往往遇到外键约束无法删除的情况,我们可以通过以下几步将数据库表删除,建议在删除库之前先对数据库进行备份,养成良好习惯。

1.删除外键

--查询用户所有表的外键,owner条件为user
select * from user_constraints c where c.constraint_type = 'R' and c.owner = 'USER';--这里往往owner系统内为大写

--删除用户所有表的外键,owner条件为user

select 'alter table '||t.table_name||' drop constraint '||t.constraint_name||';' from user_constraints t 
where t.constraint_type='R' and c.owner = 'USER';

--将查询出的结果在plsql中执行即可,对应这个用户的所有外键约束就已经全部删除了

2.删除用户所有的表

select 'drop table '||table_name||';' as sqlscript from user_tables;

--同样将执行后的结果在plsql中执行就可以了

--在查询数据库,表应该已经删除了。

原文地址:https://www.cnblogs.com/smallrock/p/4343230.html