[Pgsql-ayuda] como crear delete recursivo?
Claudia Paricia Villa
cvilla@uach.mx
Tue, 28 Jan 2003 16:39:58 +0000
hola espero puedan ayudarme.
tengo una tabla con tareas
tareas(id), quien la creo (p_id).
una tareas puede crear varias subtareas y una subtareas a su ves puede
crear a otras subtareas
proyectos=# select id,nombre,p_id from tareas;
id | nombre | p_id
--------+---------------------------+--------
100018 | tarea 1 | 99
100019 | subtarea 1.1 | 100018
100020 | tarea 2 | 99
100021 | subtarea 1.2 | 100018
100022 | subtarea 1.1.1 | 100019
100023 | subtarea 2.1 | 100020
100024 | tarea 1 | 100
100025 | subtarea 1.2.1 | 100021
100026 | subtarea 1.1 de proy 2 | 100024
100027 | subtarea se ni proyecto 2 | 102
(10 rows)
al borrar una tareas necesito borrar a todas sus subtareas y las
subtareas de esas subtareas.
cree una regla pero me genera un error
proyectos=# create rule cascada as on delete to tareas do delete from
tareas where p_id=id;
proyectos=# delete from tareas where p_id=99;
ERROR: query rewritten 10 times, may contain cycles
es o no posible crear reglas que tengan efecto de recursividad o existe
alguna otra manera de poder lograrlo?
por favor, me urge!!!!