PostgreSQL - ayuda con borrado logico

 
Vista:

ayuda con borrado logico

Publicado por Victor Fernandez (2 intervenciones) el 27/06/2012 01:39:40
hola, soy novato en postgres, mi consulta consiste en que tengo dos tablas relacionadas y necesito hacer un borrado lógico.Una de las tablas contiene a los socios (id_socio, nombres, apellidos y todos los datos necesarios) y la otra registra las inscripciones(id_ins, fecha_ingreso, fecha_egreso, estado, id_socio), en la tabla inscripciones tengo como pk id_ inscripción y como fk id_socio, he hecho un trigger con procedimiento que al agregar y modificar los datos funciona perfectamente, pero para borrar necesito que solo modifique la fecha_egreso y el estado.
Al agregar y modificar los datos registra perfectamente la fecha de ingreso (fecha actual) y estado registra como "true"(activo), lo que necesito es que al borrar en la tabla socios me registre en la tabla inscripciones la fecha de egreso(fecha_actual) y como estado pase a ser "False"(inactivo), pero como borrado lógico y no físico.Desde ya agradezco por su ayuda y tiempo.

Este es el script de mi función
CREATE OR REPLACE FUNCTION act_inscrip() RETURNS trigger AS $act_inscrip$
BEGIN
if (TG_OP='INSERT' OR TG_OP='UPDATE') THEN
insert into inscripciones (fec_ingre, fec_egre,estado,socio_nro) values (current_date,'9999-12-31','t',new.socio_nro);
END IF;
return null;
END;
$act_inscrip$ LANGUAGE plpgsql;
CREATE TRIGGER act_inscrip after INSERT OR UPDATE OR DELETE
ON SOCIOS FOR EACH ROW EXECUTE PROCEDURE
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder