Hay una cosa ke no entiendo en lo ke me dices. Cuando me pones esto:
WHEN (old.campoFecha <> new.CampoFecha)
Me refiero a que :
esta instruccion en el trigger permite solo que se dispare el triger cuando se modifica el valor de la fecha actual del registro de la tabla , esto lo hace comparando el valor actual ( old) contra el valor nuevo (new).
A que te refieres con esto? old. y new. que valor tiene para ti?
No es para mi , el trigger siempre tiene por defecto el valor nuevo del campo en
new y el valor actual en
old, sin embargo eso lo puedes cambiar asi:
<!--xc1--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>
XCODE </td></tr><tr><td id='XCODE'><!--exc1-->
CREATE OR REPLACE TRIGGER MiTrigger
BEFORE INSERT OR UPDATE ON MiTabla
REFERENCING NEW AS nuevo OLD AS anteriorFOR EACH ROW
WHEN (old.CampoFecha <> new.CampoFecha)<!--xc2--></td></tr></table><div class='postcolor'><!--exc2-->
Con poner ese codigo es un disparador a nivel de mi bloque reservas se solucionara la restriccion de fechas que comento? Estoy un poco pez en estas cosas. Espero puedas ayudarme, gracias.
No, eso es solo un ejemplo de el esqueleto del trigger que debes hacer. Este trigguer ´para lo que ncesitas no se debe disparar a nivel de bloque ( FOR EACH STATEMENT) sino a nivel de fila ( FOR EACH ROW).
Mi recomendacion es que no comiences a ahcerlo sin saber primero que son como funcionan y para que sirven los triggers. Investiga y experimenta con ellos y cuando estes listo ven y pregunta de nuevo