Eficiencia en triggers. Usar WHEN o IF … THEN?
Hola amigos.
Quería saber qué es más eficiente a la hora de hacer un trigger, usar varios triggers para la misma tabla, cada uno con una condicion WHEN, o hacer un trigger y dentro condiciones IF para que haga lo que corresponda en cada caso.
Por ejemplo:
[sql]CREATE OR REPLACE TRIGGER TRIGGER1 AFTER INSERT ON MI_TABLA REFERENCING NEW AS New OLD AS Old
FOR EACH ROW
WHEN (new.tipo=1)
BEGIN
…
END;[/sql]
[sql]CREATE OR REPLACE TRIGGER TRIGGER2 AFTER INSERT ON MI_TABLA REFERENCING NEW AS New OLD AS Old
FOR EACH ROW
WHEN (new.tipo=2)
BEGIN
…
END;[/sql]
La otra opción es:
[sql]CREATE OR REPLACE TRIGGER mi_trigger AFTER INSERT ON MI_TABLA REFERENCING NEW AS New OLD AS Old
FOR EACH ROW
BEGIN
IF (new.tipo=1) THEN
…
END IF;
IF (new.tipo=2) THEN
…
END IF;
END;[/sql]
Teniendo en cuenta que no son dos sino 10 o 12 casos.
Muchas gracias y un saludo.