代码之家  ›  专栏  ›  技术社区  ›  TomB

同时更新父表和子表

  •  10
  • TomB  · 技术社区  · 7 年前

    ORA-02292:违反完整性约束(URMS.EMSR\u EMS\u FK)-找到子记录

    这是唯一的解决方案还是有更简单的方法?

    1 回复  |  直到 7 年前
        1
  •  6
  •   Chris Travers    7 年前

    你有几个选择作为解决办法。

    • 将约束更改为可延迟约束并延迟。这会导致在提交时间而不是更新时间检查密钥。
    • NOT NULL 限制
    • 如果情况更糟,请创建一个记录(假设为其保留ID为0,以便可以检测和避免冲突),将外键更新为该ID,然后更新主键,然后更新外键,然后删除记录。

    ON UPDATE CASCADE