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已经发布了一个更新级联解决方案,如果您需要一个正在进行的方法