数据库主外键删除

  分类:笔记   评论:无  浏览: 405次

在更改数据库的时候,有表关联的时候,常常遇到数据更新受限制,那么就可以临时删除主外键关系:

Db2

--删除
select 'ALTER TABLE PCORE.' || F.TABNAME  || ' ALTER FOREIGN KEY ' ||  F.CONSTNAME  || '  NOT ENFORCED;' from SYSCAT.REFERENCES F WHERE OWNER = 'PCORE';

--恢复
select 'ALTER TABLE PCORE.' || F.TABNAME  || ' ALTER FOREIGN KEY ' ||  F.CONSTNAME  || '  ENFORCED;' from SYSCAT.REFERENCES F WHERE OWNER = 'PCORE';

MySql

运行如下的sql语句来关闭外键检测:
SET FOREIGN_KEY_CHECKS = 0;

执行你要的操作后把再把外键检测恢复
SET FOREIGN_KEY_CHECKS = 1;

Oracle

select 'alter table ' || table_name || ' disable constraint ' || constraint_name || ';' from user_constraints where constraint_type = 'R';
点击这里给我发消息
嘿!有什么可以帮助你吗?