oracle外键禁用

之前做测试,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命令就可以删除了。


posted @ 2018-11-27 21:54  大熊不清新  阅读(2215)  评论(0编辑  收藏  举报