Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/01/2017, 13:30
ruben_077
 
Fecha de Ingreso: mayo-2014
Mensajes: 23
Antigüedad: 10 años, 6 meses
Puntos: 0
Trigger sobre día de la semana

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 original
  1. CREATE OR REPLACE TRIGGER TR_Dias_Tutorias
  2. AFTER INSERT OR UPDATE OF Fecha ON Tutorias
  3. FOR EACH ROW
  4. DECLARE
  5.     v_Fecha DATE := :NEW.Fecha;
  6.     v_Dia VARCHAR2(20);
  7. BEGIN
  8.     SELECT TO_CHAR(v_Fecha, 'DAY', 'NLS_DATE_LANGUAGE=SPANISH') INTO v_Dia FROM Dual;
  9.     IF v_Fecha LIKE 'SÁBADO' OR v_Fecha LIKE 'DOMINGO' THEN
  10.         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');
  11.     END IF;
  12. 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!