之前做测试,A表中有主键是作为B表和C表的外键的,现在想要删除ABC三个表,发现单纯使用DROP是无法删除的
会报错( 无法禁用约束条件 (XXXXXXXXX) - 存在相关性)这时候就需要我们把外键约束全部干掉。
在网上找到了非常实用的demo:
第一步查出所有的外键
select 'alter table '||table_name||' enable constraint '||constraint_name||';' from user_constraints where constraint_type='R';select 'alter table '||table_name||' disable constraint '||constraint_name||';' from user_constraints where constraint_type='R';
直接把这句话copy过去就可以查到外键
再执行alter table table_name disable constraint xxx;就可以将外键禁用,然后执行DROP命令就可以删除了。