[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