1

我有多个级联路径错误的问题。这是我的表:

表(公司)
公司代码(PK)
....

表 (Aircraft)
AircraftRegistration (PK)
OwnerCode (FK to CompanyCode)
OperatorCode (FK to CompanyCode)
....

当我更新公司的主键时,我只想更新飞机表中的 ownercode 和 operatorcode 外键。

解决这个问题的正确方法是使用触发器吗?

4

1 回答 1

2

您可以将ON UPDATE CASCADE添加到您的外键定义中,然后如果引用的键(即 Companies.CompanyCode)发生更改,值将自动更新。

编辑:但是正如您在评论中指出的那样,这不适用于具有两个外键引用同一列的表,因此对于这些情况,您必须使用触发器或以“受控”方式进行所有更新,例如通过更新引用列的存储过程。哪种方法更好取决于您的应用程序设计和数据库的使用方式。

于 2012-05-15T11:35:39.013 回答