Este ejemplo pretende ilustrar las diferencias entre los diferentes modos de especificar los eventos en disparadores (a nivel de sentencia o a nivel de tupla y BEFORE o AFTER) y mostrar el orden en que se ejecutan. Para ello se ha implementado un disparador de cada tipo que muestran un mensaje cuando se ejecuta una sentencia de eliminar un suministro y opcionalmente se genera una excepción (por defecto sólo se ha activado en el disparador de después de ejecutar la sentencia). * ej1a_trigger.sql sólo muestra los mensajes de los triggers ejecutados. * ej1b_trigger.sql además de mostrar los mensajes de los triggers ejecutados, genera un error al ejecutar el trigger tr_AftDel_Sum que anula la transacción. Se muestran algunos modos de gestionar las excepciones. Para ello, se crea un procedure test_TRIGGER donde se intenta eliminar tuplas. * ej1c_trigger.sql similar al anterior pero, en el procedure test_TRIGGER, se realizan varios intentos de eliminar una tupla y, tras el segundo, se inhibe el disparador que impedía el borrado. S.V. Univ. Zaragoza, 10 mayo 2015