Ver Mensaje Individual
  #5 (permalink)  
Antiguo 30/09/2013, 04:19
daicon
 
Fecha de Ingreso: julio-2010
Mensajes: 134
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: TRigger. Set @var en consulta.

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Eso funciona en Oracle o SQL Server.
MySQL no lo permite por principios de seguridad de procesos, a fin de evitar que se utilicen como medios de sortear restricciones de permisos, e incluso para prevenir deadlocks producto de SP que llaman a tablas que afecten otros triggers.
En definitiva, no es viable..
De todos modos, la lógica del script que propones es perfectamente viable en un SP (e incluso es más seguro y simple de administrar), por lo que no se ve la necesidad de implementarlo en un TRIGGER.
Salvo que sea un requisito obligatorio de diseño, mi consejo es que implementes eso en un SP.
Los trigger tienen deben relacionarse con acciones que si o si ocurran cada vez que se hace un ABM en una tabla, y no procesos opcionales. AL menos no en MySQL.
Uff, a ver... guíame un poco que me he perdido.

No entiendo eso que dices de implementar mi codigo en un SP, ya que... como controlo cuando lanzarlo? EDITO: Corrigeme si me equivoco, pero si quiero usar el SP como si fuera un trigger, tengo que llamarlo desde el codigo PHP? En el sitio donde se cambiarían los datos? Si es asi, puf... no se, no lo veo muy adecuado, al menos en mi caso.
Necesito que desde mysql se haga las modificaciones pertinentes en la BD cuando se detecte algun cambio. FIN EDICION

Mi idea de hacerlo en un trigger, es por que necesito lanzar ese codigo SIEMPRE que se modifice un campo de la tabla..

Es verdad que al principio tengo un IF, que creo que has podido pensar que a veces se ejecutara y otras no, pero no es correcto del todo, ya que, depues de ese IF, vendran otros tantos IF, los cuales comprobaran que columna se ha modificado de la tabla, y lanzar el codigo en el caso correcto.

Última edición por daicon; 30/09/2013 a las 07:51