[Pgsql-ayuda] Eliminar datos

Patricio Muņoz pmunoz@cmet.net
Fri, 7 Nov 2003 18:01:37 -0300


> Hola lista:
>
> Tengo una duda, en mi ase de datos tengo tres tablas de la siguiente
> forma:
>
> Tabla usuarios
> {
> identificacion varchar(8),
> idempleado integer,
> infointerna boolean,
> nombres varchar(30),
> apellidos varchar(30),
> cedula varchar(32),
> correo varchar(32),
> primary key(identificacion)
> }
>
> Tabla procesosusuarios
> {
> idusuario varchar(8),
> idproceso varchar(8),
> foreign key (idusuario) references usuarios(identificacion)
> }
>
> Tabla usuarioslabores
> {
> idusuario varchar(8),
> idlabor varchar(8),
> idproceso varchar(8),
> foreign key (idusuario) references usuarios(identificacion)
> }
>
> El problema es que necesito eliminar un datos correspondiente a un usuario
> en las tres tablas, pero no deseo eliminarlos uno por uno de cada tabla,
> sino que al hacer algo como DELETE FROM usuarios WHERE identificacion =
> 'USER0000'; se eliminen los datos tanto de la tabla usuarios como de las
> demas tablas a las que se hace referencia, es decir, que se eliminen
> tambien los datos de ese usuario en las tablas procesosusuarios y
> usuarioslabores.
> Que deberia hacer para ello??

Algo asi

CREATE TABLE procesosusuarios (
     idusuario varchar(8),
    idproceso varchar(8),
    foreign key (idusuario) references usuarios(identificacion) ON DELETE
CASCADE
 );