我有'MY_TABLE'表,它有一个主键'CODE',这个主键有几个引用它的外键约束,我需要暂时禁用它们 .
试着在这里扩展这个答案:Fix ORA-02273: this unique/primary key is referenced by some foreign keys,但不是由constraint_name
我正在尝试选择引用'MY_TABLE'的'CODE'的所有foreign_key约束并禁用它们(最终启用,我假设你只是在语法中切换disable for enable)
我有'MY_TABLE'表,它有一个主键'CODE',这个主键有几个引用它的外键约束,我需要暂时禁用它们 .
试着在这里扩展这个答案:Fix ORA-02273: this unique/primary key is referenced by some foreign keys,但不是由constraint_name
我正在尝试选择引用'MY_TABLE'的'CODE'的所有foreign_key约束并禁用它们(最终启用,我假设你只是在语法中切换disable for enable)
3 回答
假设你有这样的表格:
您可以使用类似以下内容来循环遍历引用表的给定列的所有约束,并使用以下命令禁用/启用它们:
这给出(并执行):
尝试该查询以生成所需的所有更改:
您可以避免PL / SQL代码和几个动态构造的
alter table
语句 . 要禁用依赖于特定表的主键的所有外键,只需使用cascade
子句禁用主键,然后再次重新启用(如果需要) .这是一个例子:
禁用外键:
结果:
Note :必须手动完成's not possible to enable all foreign key constraints again in cascade mode. It' .