在删除数据表的时候往往遇到外键约束无法删除的情况,我们可以通过以下几步将数据库表删除,建议在删除库之前先对数据库进行备份,养成良好习惯。
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中执行就可以了
--在查询数据库,表应该已经删除了。