DROP FUNCTION DecrementadorTotal() CASCADE;
CREATE OR REPLACE FUNCTION DecrementadorTotal() RETURNS trigger AS '
DECLARE
	vreg record;
	vrec record;
	vnuevo numeric(10,2);
BEGIN
	-- Selecciona el curso de la tabla CursosEspeciales
	select into vreg * from CursosEspeciales where idcurso = old.idcurso;
	-- Selecciona el importe pagado por cada curso en el detalle de recibo
	select into vrec * from DetalleRecibo where folio = old.folio and cns = old.cns;
	-- Decrementa el pago del alumno
	vnuevo := vreg.TotalRecabado - vrec.subtotal;
	-- Actualizar TotalRecabado
	update CursosEspeciales set TotalRecabado = vnuevo where idcurso = old.idcurso;
	return old;
END;
' LANGUAGE 'plpgsql';