我有一个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在他的博客上发布了更新级联解决方案。