Sqlite循环依赖触发器

时间:2013-05-26 08:47:07

标签: sql sqlite triggers

问题是关于Sqlite DBMS。

我有两张桌子:

  1. 描述对象
  2. 描述了表1 {id,id_parent}
  3. 中对象的依赖关系

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

    对象依赖项示例:

    A - > B - > C --- ok

    A - > B - > C - > A ---提高条件

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

1 个答案:

答案 0 :(得分:1)

你正在推动众所周知的上坡。

在您的情况下可能或不可行的一个相当简单的解决方案是对第二个表格进行约束:id > id_parent。这将无法创建循环图:

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