Ver Mensaje Individual
  #4 (permalink)  
Antiguo 31/01/2016, 10:25
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Es posible utilizar un switch en un TRIGGER

Por un lado, si el dato puro, con su tipo y demás se obtienen en la aplicación, no tiene ningun sentido pasarle a la base de datos la responsabilidad de evaluar a donde debe insertarlo. Deberías resolver ese tema en la aplicación, o bien crear una interfaz mediadora que resuelva ese punto.
Usualmente este ultimo tipo de casos suelen ser servicios que corren para administrar colas de mensajes. La aplicación escribe en la cola de mensajes, y el servicio lee lo que quieras para depositarlo en las tablas de auditoria que se definan.

Por otro lado, recargar una tabla con un TRIGGER tiene costos de performance si es una tabla de impacto 24/7, NO es una buena idea dejar corriendo triggers que se ejecuten tanto...

Finalmente, el TRIGGER que propusiste tiene un error gravísimo: Intenta hacer un INSERT sobre la misma tabla donde el TRIGGER se ejecuta.. cuando se hace un INSERT.
Eso provocaría un loop infinito. ¿Lo pensaste?
MySQL no admite que un trigger genere acciones DML sobre la misma tabla que lo dispara.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)