Oracle11g 如何在更新主表时更新子表

Oracle11g 如何在更新主表时更新子表,oracle11g,Oracle11g,我有一个带有列的父表EMPLOYEE(SYSID、SERVICENO、DEPENDENTS…(SYSID是主键)和子表EMPLOYEE\u ADDRESS(EMPLOYEE\u SYSID、CITY、STATE…)(EMPLOYEE\u SYSID是外键) 我的问题是:当我在master中更新SYSID时,如何更新子表中的EMPLOYEE\u SYSID。还有一件事:我还有10个子表用于EMPLOYEE表,请帮我解决这个问题。这称为“更新级联”,通常最好通过选择值不会随时间变化的主键来避免 如果

我有一个带有列的父表
EMPLOYEE
(SYSID、SERVICENO、DEPENDENTS…(
SYSID
是主键)和子表
EMPLOYEE\u ADDRESS(EMPLOYEE\u SYSID、CITY、STATE…
)(
EMPLOYEE\u SYSID
是外键)

我的问题是:当我在master中更新SYSID时,如何更新子表中的
EMPLOYEE\u SYSID
。还有一件事:我还有10个子表用于
EMPLOYEE
表,请帮我解决这个问题。

这称为“更新级联”,通常最好通过选择值不会随时间变化的主键来避免

如果这是一次性修复,则可以临时禁用外键约束(而数据库中没有用户),更新所有表,然后重新启用约束

Tom Kyte已经发布了一个更新级联解决方案,如果您需要一个正在进行的方法