OPEN c1;
LOOP
FETCH c1 into num,hotel,habitacion,dni,fini,ffin;
IF (:RESERVA.fecha_inicio between fini and ffin-1) THEN
RAISE error5;
ELSE
COMMIT_FORM;
END IF;
IF (:RESERVA.fecha_fin between fini+1 and ffin) THEN
RAISE error3;
ELSE
COMMIT_FORM;
END IF;
exit when (c1%notfound) or (:RESERVA.num_reserva = num);
next_record;
END LOOP;
close c1;
first_record;
EXCEPTION
WHEN error3 THEN
SET_ALERT_PROPERTY('FECHA_FIN_RANGO',ALERT_MESSAGE_TEXT,'La fecha de fin de la reserva coincide dentro del rango de una reserva con esa misma habitación y ese mismo hotel');
IF SHOW_ALERT ('FECHA_FIN_RANGO')= ALERT_BUTTON1 THEN
RAISE FORM_TRIGGER_FAILURE;
END IF;
WHEN error5 THEN
SET_ALERT_PROPERTY('FECHA_INICIO_RANGO',ALERT_MESSAGE_TEXT,'La fecha de inicio de la reserva coincide dentro del rango de una reserva con esa misma habitación y ese mismo hotel');
IF SHOW_ALERT ('FECHA_INICIO_RANGO')= ALERT_BUTTON1 THEN
RAISE FORM_TRIGGER_FAILURE;
END IF;
END;