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命令就可以删除了。

猜你喜欢

转载自www.cnblogs.com/HUCHEN/p/10029300.html