Los triggers: depende de si son a nivel de fila (for each row) o a nivel de
sentencia.

Si son a nivel de sentencia, en el caso de
  INSERT into tabla (campo 1,campo2)values(1,1);
  INSERT into tabla (campo 1,campo2)values(2,2);
el trigger se dispara 2 veces, y si hay un insert con 2 filas
del tipo
  INSERT into tabla (campo 1,campo2)values(1,1),(2,2)
se dispara una única vez.

Si es a nivel de fila: se dispara tantas veces como filas, y el "after" lo
hace todo junto al final de cada sentencia, por lo que
en el primer caso tendrías
  INSERT into tabla (campo 1,campo2)values(1,1); <--- trigger after fila 1
  INSERT into tabla (campo 1,campo2)values(2,2);<--- trigger after fila 2
y en el segundo
  INSERT into tabla (campo 1,campo2)values(1,1),
                                                                   (2,2)
<---trigger after fila1, trigger after fila 2


Saludos,

  Miguel

Responder a