1. 程式人生 > >oracle外來鍵禁用

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