这个问题是关于Sqlite DBMS的。
我有两个表:
- <
- 描述对象/gh>
- 描述表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 ) )