0

问题是关于 Sqlite DBMS。

我有两张桌子:

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

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

对象依赖关系示例:

A -> B -> C --- 好的

A -> B -> C -> A --- 引发条件

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

4

1 回答 1

1

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

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

CREATE TABLE deps ( id NOT NULL, id_parent NOT NULL, CHECK ( id > id_parent ) )
于 2013-05-26T08:57:40.117 回答