如何插入带有约束循环的火鸟表?

How to insert into firebird tables with constraint loops?

我在 firebird 中有包含循环的表。我还没有找到插入数据的好方法,其中 Table ATable BTable B FK 到 Table A

这不是一个异常的数据库问题,但我无法让 firebird 让我插入行。这是我的信念:

  1. firebird 有延迟约束检查的标志,但它出现 它们没有作为功能实现(真的吗?)。

  2. Firebird 3.0 文档似乎没有提到延迟约束 检查作为功能添加(它会在那里吗?)

  3. 据我所知,您不能将两行插入到两个表中 在单个事务中解决问题。 (这是 是吗?)

  4. 是在插入过程中删除所有约束的唯一选择吗? (不太棒)

我建议使用非必填字段,插入没有 FK 值的 2 行,然后更新它们。

如果您想在单个语句中完成,则必须可以使用存储过程或 "execute block"

此致