Re: impedir eliminacion en cascada

Lists: pgsql-es-ayuda
From: "Toni Casueps" <casueps(at)hotmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: impedir eliminacion en cascada
Date: 2006-10-26 12:09:38
Message-ID: BAY108-F29F812727656F556B32A85AD070@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

Tengo algunas restricciones de integridad referencial en las que pongo
que si se elimina un registro se eliminen los registros relacionados.
El problema es que a veces los usuarios se cargan un registro de estos
y se cepillan un monton de registros relacionados. El caso es que sí
deberían poder borrar registros, pero solo aquellos que no vayan a
provocar eliminaciones en cascada.
¿Se puede hacer esto?

_________________________________________________________________
Acepta el reto MSN Premium: Protección para tus hijos en internet.
Descárgalo y pruébalo 2 meses gratis.
http://join.msn.com?XAPID=1697&DI=1055&HL=Footer_mailsenviados_proteccioninfantil


From: "Jaime Casanova" <systemguards(at)gmail(dot)com>
To: "Toni Casueps" <casueps(at)hotmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: impedir eliminacion en cascada
Date: 2006-10-26 12:37:46
Message-ID: c2d9e70e0610260537h2bb4edb7o2b8cf26dd58688a0@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

On 10/26/06, Toni Casueps <casueps(at)hotmail(dot)com> wrote:
> Tengo algunas restricciones de integridad referencial en las que pongo
> que si se elimina un registro se eliminen los registros relacionados.
> El problema es que a veces los usuarios se cargan un registro de estos
> y se cepillan un monton de registros relacionados. El caso es que sí
> deberían poder borrar registros, pero solo aquellos que no vayan a
> provocar eliminaciones en cascada.
> ¿Se puede hacer esto?
>

y entonces porque definieron las FK con elimincion en cascada? borra
los FK y cambia la modalidad a restrict, no se si puedas hacer el
cambio sin reconstruir los FK (por ejemplo con un ALTER CONSTRAINT)

--
Atentamente,
Jaime Casanova

"Programming today is a race between software engineers striving to
build bigger and better idiot-proof programs and the universe trying
to produce bigger and better idiots.
So far, the universe is winning."
Richard Cook


From: "Toni Casueps" <casueps(at)hotmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: impedir eliminacion en cascada
Date: 2006-10-26 14:28:22
Message-ID: BAY108-F10BF845DF77522DB811EB8AD070@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda


Es para luego poder yo eliminar los registros con eliminacion en cascada
para que me sea mas facil. Digamos que estaria bien un "eliminacion en
cascada para unos usuarios y no para otros"

>
>On 10/26/06, Toni Casueps <casueps(at)hotmail(dot)com> wrote:
>>Tengo algunas restricciones de integridad referencial en las que pongo
>>que si se elimina un registro se eliminen los registros relacionados.
>>El problema es que a veces los usuarios se cargan un registro de estos
>>y se cepillan un monton de registros relacionados. El caso es que sí
>>deberían poder borrar registros, pero solo aquellos que no vayan a
>>provocar eliminaciones en cascada.
>>¿Se puede hacer esto?
>>
>
>y entonces porque definieron las FK con elimincion en cascada? borra
>los FK y cambia la modalidad a restrict, no se si puedas hacer el
>cambio sin reconstruir los FK (por ejemplo con un ALTER CONSTRAINT)
>
>--
>Atentamente,
>Jaime Casanova
>
>"Programming today is a race between software engineers striving to
>build bigger and better idiot-proof programs and the universe trying
>to produce bigger and better idiots.
>So far, the universe is winning."
> Richard Cook

_________________________________________________________________
Acepta el reto MSN Premium: Correos más divertidos con fotos y textos
increíbles en MSN Premium. Descárgalo y pruébalo 2 meses gratis.
http://join.msn.com?XAPID=1697&DI=1055&HL=Footer_mailsenviados_correosmasdivertidos


From: "Javier Aquino H(dot)" <JAquino(at)LexusEditores(dot)com>
To: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: impedir eliminacion en cascada
Date: 2006-10-26 14:39:49
Message-ID: 003a01c6f90c$99801670$0a010a0a@javier
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

Entonces solo quitale la opción a la integridad referencial para que no se
elimine en cascada, asi cuando eliminas un registro y no tiene referencias
se elimina sin mayores problemas, pero si tiene referencias desde otras
tablas no te deja.

Slds,

Javier.

----- Original Message -----
From: "Toni Casueps" <casueps(at)hotmail(dot)com>
To: <pgsql-es-ayuda(at)postgresql(dot)org>
Sent: Thursday, October 26, 2006 7:09 AM
Subject: [pgsql-es-ayuda] impedir eliminacion en cascada

> Tengo algunas restricciones de integridad referencial en las que pongo
> que si se elimina un registro se eliminen los registros relacionados.
> El problema es que a veces los usuarios se cargan un registro de estos
> y se cepillan un monton de registros relacionados. El caso es que sí
> deberían poder borrar registros, pero solo aquellos que no vayan a
> provocar eliminaciones en cascada.
> ¿Se puede hacer esto?
>
> _________________________________________________________________
> Acepta el reto MSN Premium: Protección para tus hijos en internet.
> Descárgalo y pruébalo 2 meses gratis.
> http://join.msn.com?XAPID=1697&DI=1055&HL=Footer_mailsenviados_proteccioninfantil
>
>
> ---------------------------(fin del mensaje)---------------------------
> TIP 8: explain analyze es tu amigo
>


From: "Jaime Casanova" <systemguards(at)gmail(dot)com>
To: "Toni Casueps" <casueps(at)hotmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: impedir eliminacion en cascada
Date: 2006-10-27 00:28:11
Message-ID: c2d9e70e0610261728v7d9262f5v4aea8e39c124069@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

On 10/26/06, Toni Casueps <casueps(at)hotmail(dot)com> wrote:
>
> Es para luego poder yo eliminar los registros con eliminacion en cascada
> para que me sea mas facil. Digamos que estaria bien un "eliminacion en
> cascada para unos usuarios y no para otros"
>

quiza deberias quitarles el privilegio de borrado en las tablas hijas,
asi no podra eliminar en cascada, claro que no podra eliminar en
absoluto...

o cambiar el modo de cascade a restrict y tu borras una por una las tablas...

pero lo que quieres, no existe

--
Atentamente,
Jaime Casanova

"Programming today is a race between software engineers striving to
build bigger and better idiot-proof programs and the universe trying
to produce bigger and better idiots.
So far, the universe is winning."
Richard Cook


From: "Alejandro D(dot) Burne" <alejandro(dot)dburne(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: impedir eliminacion en cascada
Date: 2006-10-27 13:00:59
Message-ID: 8398dc6d0610270600u7c40d8ds5a39eb835ca3d697@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

2006/10/26, Jaime Casanova <systemguards(at)gmail(dot)com>:
>
> On 10/26/06, Toni Casueps <casueps(at)hotmail(dot)com> wrote:
> >
> > Es para luego poder yo eliminar los registros con eliminacion en cascada
> > para que me sea mas facil. Digamos que estaria bien un "eliminacion en
> > cascada para unos usuarios y no para otros"
> >
>
> Se me ocurre (manteniendo la eliminación en cascada)

- Un trigger para la sentencia DELETE y tendrías que mantener los usuarios
que pueden borrar dentro del mismo y al resto devolverles un error.

Alejandro.