Firebird FK关于删除级联和更新级联触发顺序

时间:2015-08-12 18:57:22

标签: constraints replication firebird cascading-deletes

任何人都知道为什么Firebird会更新和删除外键规则,以反逻辑方式工作?

当您更改某些数据并且它是FK时,Firebird行为:

  • 第一名:删除大师
  • 之后:删除详细信息

当我猜测正确的行为是:

  • 第一:删除详情
  • 之后:删除主人

当您尝试在运行时将数据复制到另一个数据库时,这是一个很大的问题。

1 个答案:

答案 0 :(得分:1)

导致级联删除的是master上的删除。在实现级别上,这由表上的系统触发器处理,因此必须首先发生主服务器上的删除,并且从中删除详细信息。

我不知道您是如何复制数据的,但您可能想要检查一下是否使用BEFOREAFTER触发器执行此操作(但我不知道是否正在更改{ {1}} BEFORE会将点击顺序更改为detail-master)。

有关实施和限制的更多详细信息,您可能希望在 firebird-devel 邮件列表上发布问题。该列表中有人也建立了复制软件,核心Firebird开发人员可能会提供更详细的信息。