Sqlite循环依赖触发器



这个问题是关于Sqlite DBMS的。

我有两个表:

    <
  1. 描述对象/gh>
  2. 描述表1 {id, id_parent}中对象的依赖关系

如何为表2编写INSERT和UPDATE触发器来检查循环依赖关系?

对象依赖的例子:

A -> B -> C—ok

A -> B -> C -> A——raise condition

我知道如何检查直接依赖A -> B,但不知道如何检查任何级别

你正在往上坡。

一个相当简单的解决方案是在第二个表id > id_parent上设置一个约束,这在您的环境中可能可行,也可能不可行。这将使创建循环图变得不可能:

CREATE TABLE deps ( id NOT NULL, id_parent NOT NULL, CHECK ( id > id_parent ) )

最新更新