Re: borrar registros

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Cristóbal Sanfurgo <csanfurgo(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: borrar registros
Date: 2005-10-24 03:57:32
Message-ID: 20051024035732.GB26226@surnet.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Cristóbal Sanfurgo escribió:
> Tienes 2 opciones, 1 es la que dice juanky aplicando un where para saber en
> todas las tablas donde se encuentra el registro que debes eliminar, debes
> tener conciencia que tienes que borrar todos los registros donde este dicha
> tupla, tendremos una inconsistencia de la bd si esta esta siendo nombrada en
> otra tabla, como por ejemplo borrar un vendedor, el cual hace ventas, si
> borramos al vendedor, existiran ventas hechas por alguien que no existe,
> esto creara inconsistencias graves,

Por supuesto, en una base de datos disen~ada por gente que piense esto
no pasara, puesto que las claves en las tablas estaran definidas como
llaves foraneas usando la clausula REFERENCES, por lo que el mismo
sistema te va a indicar que estas intentando eliminar un registro que
esta siendo referido desde otra parte, y te prohibira la accion.

(Ademas, puedes usar ON DELETE CASCADE para que el sistema borre
automaticamente todas las referencias a un registro, cuando borres ese
registro, si eso es lo que se desea).

En todo caso la idea del campo "activo/inactivo" es buena, si se desea
guardar el historial de registros.

--
Alvaro Herrera http://www.advogato.org/person/alvherre
"Endurecerse, pero jamás perder la ternura" (E. Guevara)

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Mario Gonzalez 2005-10-24 11:27:31 Re: serial
Previous Message Alvaro Herrera 2005-10-24 03:54:50 Re: serial