-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Trigger de UPDATE tua_sga_planes
-- TRIGGER AFTER UPDATE
-- Tabla: sga_planes
-- Version 3.0.0
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

-- DROP FUNCTION ftua_sga_planes();
CREATE OR REPLACE FUNCTION ftua_sga_planes() RETURNS TRIGGER AS $BODY$
  BEGIN
    -- Si se esta activando el Plan, entonces cambio el estado de la Propuesta
    IF OLD.estado = 'N' AND (NEW.estado = 'A' OR NEW.estado = 'V') THEN
        -- Activo el estado de la Propuesta si esta en estado Nuevo.
        UPDATE sga_propuestas 
            SET estado = 'A'
         WHERE sga_propuestas.propuesta = NEW.propuesta
           AND sga_propuestas.estado = 'N';
    END IF;
    RETURN NEW;
  END;
$BODY$ 
LANGUAGE plpgsql;


-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Trigger de UPDATE sobre sga_planes
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- DROP TRIGGER tua_sga_planes ON sga_planes RESTRICT;
CREATE TRIGGER tua_sga_planes 
    AFTER UPDATE ON sga_planes
    FOR EACH ROW EXECUTE PROCEDURE ftua_sga_planes();
