Buenas, llevo dándole vueltas a esto un montón de tiempo y no sé por qué no funciona el siguiente trigger en Oracle SQL Developer:
Código Sql:
Ver originalCREATE OR REPLACE TRIGGER TR_Dias_Tutorias
AFTER INSERT OR UPDATE OF Fecha ON Tutorias
FOR EACH ROW
DECLARE
v_Fecha DATE := :NEW.Fecha;
v_Dia VARCHAR2(20);
BEGIN
SELECT TO_CHAR(v_Fecha, 'DAY', 'NLS_DATE_LANGUAGE=SPANISH') INTO v_Dia FROM Dual;
IF v_Fecha LIKE 'SÁBADO' OR v_Fecha LIKE 'DOMINGO' THEN
RAISE_APPLICATION_ERROR(-20020, 'Los días de la semana en dónde se puede realizar una tutoría deben estar entre lunes y viernes');
END IF;
END;
Lo que quiero concretamente es que salte el mensaje de error si la fecha que se inserta o actualiza es sábado o domingo.
Curiosamente si hago la consulta a parte sí que me devuelve el día de la semana pero a la hora de ejecutar el trigger e intentar insertar un dato o actualizarlo, no sale nunca el error y se inserta o actualiza correctamente.
No sé qué puede estar fallando, he probado varias alternativas y ninguna funciona T_T. Gracias por adelantado!