Предполагая схему, подобную следующей:
CREATE TABLE node (
id SERIAL PRIMARY KEY,
name VARCHAR,
parentid INT REFERENCES node(id)
);
Далее предположим, что имеются следующие данные:
INSERT INTO node (name,parentid) VALUES
('A',NULL),
('B',1),
('C',1);
Есть ли способ предотвратить создание циклов? Пример:
UPDATE node SET parentid = 2 WHERE id = 1;
Это создаст цикл 1->2->1->...