[Pgsql-ayuda] como lograr un delete recursivo?
claudia patricia
claudia_patriciav@yahoo.com
Tue, 28 Jan 2003 12:24:40 -0600 (CST)
hola espero me puedan ayudar,
la cuestion es que necesito hacer un borrado recursivo
tengo una tabla de tareas
la cual contiene el identificador de la tarea(id) y el
padre de dicha tarea (p-id), al borrar una tarea
necesito borrar todas sus subtareas pero a la ves esas
subtareas crearon a otras tareas.
mi tabla es:
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
(9 rows)
cree la siguiente regla
proyectos=# create rule cascada as on delete to tareas
do delete from tareas where p_id=id;
PERO ME MARCA ERROR :(, al borrar un registro
proyectos=# delete from tareas where p_id=99;
ERROR: query rewritten 10 times, may contain cycles
es posible crear reglas que tengan efecto de
recursividad o existe alguna otra manera de poder
hacerlo?
pór favor me urge!!!!!
_________________________________________________________
Do You Yahoo!?
Información de Estados Unidos y América Latina, en Yahoo! Noticias.
Visítanos en http://noticias.espanol.yahoo.com