Cuando tenemos varios triggers en una tabla y necesitamos definir el orden de ejecucion, tipico ejemplo el de la auditoria que necesitamos saber la cantidad de filas afectadas antes que se disparen el resto de triggers a traves de @@ROWCOUNT.
Entonces nos auxiliamos de sp_settriggerorder, un procedimiento del sistema que definira el primero y el ultimo trigger en ejecutarse, no importando los demas para una categoria especifica.
Ejemplo:
sp_settriggerorder 'trg_Auditoria', 'First', 'UPDATE'
Aqui definimos que el trigger trg_Auditoria sera el primero en ejecutarse para los triggers del tipo UPDATE.
Aqui las opciones:
First | El desencadenador se activa primero. |
Last | El desencadenador se activa el último. |
None | El desencadenador se activa sin un orden definido. |
El ultimo parametro hace referencia al evento que protege el trigger mismo, el cual podra ser DML o bien DDL.
Hola, ¿sabes si este procedimiento existe en Oracle?
ResponderEliminar