我有一个EMPLOYEE包含列(SYSID,SERVICENO,DEPENDENTS...)(SYSID是主键)和子表EMPLOYEE_ADDRESS (EMPLOYEE_SYSID,CITY,STATE...)(EMPLOYEE_SYSID是外键)的父表。
这是我的问题:当我在主表中更新 SYSID 时,如何更新EMPLOYEE_SYSID子表中的。还有一件事:我还有 10 个子表EMPLOYEE,请帮我解决这个问题。
我有一个EMPLOYEE包含列(SYSID,SERVICENO,DEPENDENTS...)(SYSID是主键)和子表EMPLOYEE_ADDRESS (EMPLOYEE_SYSID,CITY,STATE...)(EMPLOYEE_SYSID是外键)的父表。
这是我的问题:当我在主表中更新 SYSID 时,如何更新EMPLOYEE_SYSID子表中的。还有一件事:我还有 10 个子表EMPLOYEE,请帮我解决这个问题。
这称为“更新级联”,通常最好通过选择其值不会随时间变化的主键来避免。
如果这是一次性修复,您可以暂时禁用外键约束(当数据库中没有用户时),更新所有表,然后重新启用约束。
如果您需要持续的方法, Tom Kyte在他的博客上发布了更新级联解决方案。