[Pgsql-ayuda] como crear delete recursivo?

Sergio Aguirre sergio@dscorp.com.mx
Tue, 28 Jan 2003 22:44:17 -0600


Porque no le pones una bandera y en vez de borrarla la marcas para que no se
vea?

Saludos,

Sergio Aguirre

----- Original Message -----
From: "Claudia Paricia Villa" <cvilla@uach.mx>
To: <pgsql-ayuda@tlali.iztacala.unam.mx>
Sent: Tuesday, January 28, 2003 10:39 AM
Subject: [Pgsql-ayuda] como crear delete recursivo?


> 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!!!!
>
>
>
> _______________________________________________
> Pgsql-ayuda mailing list
> Pgsql-ayuda@tlali.iztacala.unam.mx
> http://tlali.iztacala.unam.mx/mailman/listinfo/pgsql-ayuda
>