-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Trigger de INSERT: tib_sga_actas_detalle
-- BEFORE INSERT
-- Tabla: sga_actas_detalle
-- Version: 3.0.0
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

CREATE OR REPLACE FUNCTION ftib_sga_actas_detalle () RETURNS trigger AS 
$BODY$
DECLARE
   _estado char(1);
BEGIN
   -- No se permite borrar un registro si el acta esta cerrada. (y Anulada?)
   SELECT estado INTO _estado
      FROM sga_actas
      WHERE id_acta = NEW.id_acta;
   
   IF _estado = 'C' THEN
      raise exception 'No se puede agregar alumnos al acta porque esta Cerrada';
   ELSEIF _estado = 'B' THEN
      raise exception 'No se puede agregar alumnos al acta porque esta Anulada';
   END IF ;
   
   RETURN NEW;
END;
$BODY$
LANGUAGE 'plpgsql';


-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Trigger de INSERT sobre sga_actas_detalle
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- DROP TRIGGER tib_sga_actas_detalle ON sga_actas_detalle RESTRICT;
CREATE TRIGGER tib_sga_actas_detalle
       BEFORE INSERT ON sga_actas_detalle 
       FOR EACH ROW EXECUTE PROCEDURE ftib_sga_actas_detalle();

