Para la creación de un trigger primero se debe construir una funcion para luego proceder con la creación del trigger. el ejemplo es el siguiente:
CREATE FUNCTION F_AUDITORIASCARRERAS()
RETURNS trigger AS $F_AUDITORIASCARRERAS$
BEGIN
INSERT INTO AUDITORIASCARRERAS VALUES(NEXTVAL('SEQ_AUDITORIASCARRERAS'),
OLD.ID_CARRERA,
OLD.ID_CLIENTE,
OLD.ID_USUARIO,
OLD.ID_USUARIORELLENADO,
OLD.ID_USUARIORECHAZO,
CURRENT_DATE
);
INSERT INTO AUDITORIASCARRERAS VALUES(NEXTVAL('SEQ_AUDITORIASCARRERAS'),
NEW.ID_CARRERA,
NEW.ID_CLIENTE,
NEW.ID_USUARIO,
NEW.ID_USUARIORELLENADO,
NEW.ID_USUARIORECHAZO,
CURRENT_DATE
);
RETURN NEW;
END;
$F_AUDITORIASCARRERAS$ LANGUAGE plpgsql;
CREATE TRIGGER T_AUDITORIASCARRERAS
BEFORE UPDATE ON CARRERAS
FOR EACH ROW
EXECUTE PROCEDURE F_AUDITORIASCARRERAS() ;
En donde OLD es el valor actual de la tabla a actualizar y NEW el valor que se
esta agregando.
|