Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Duda sobre TRIGGERS

Estas en el tema de Duda sobre TRIGGERS en el foro de Mysql en Foros del Web. Hola amigos, es primera vez que me meto en esto de los Triggers en MySQL y tengo una duda antes de comenzar a aprender y ...
  #1 (permalink)  
Antiguo 01/02/2016, 07:51
Avatar de Nox
Nox
 
Fecha de Ingreso: diciembre-2004
Ubicación: Viña del Mar
Mensajes: 72
Antigüedad: 19 años, 11 meses
Puntos: 1
Pregunta Duda sobre TRIGGERS

Hola amigos, es primera vez que me meto en esto de los Triggers en MySQL y tengo una duda antes de comenzar a aprender y "gastar tiempo" en esto, quisiera saber si es posible:

Tengo en una misma base de datos, tres tablas:

1.- tabla "datos" que se llena con unos sensores electrónicos y Python
2.- tabla "configuración" con ciertos parámetros
3.- tabla "resultado" esperando a llenarse con el Trigger

Lo que necesito, es que cuando la tabla "datos" le ingresen nuevos datos, un Trigger se active, haciendo que multiplique un valor de la tabla "configuración" con un valor de la tabla "datos" y lo ingrese a un campo de la tabla "resultado"

A todo esto, el valor de la tabla "configuración" debe ser específico (un id) que coincida con el id de la tabla "datos"

Quisiera primero saber si esto es posible, para luego trabajar en un código y pedirles ayuda en esto gracias de antemano!
__________________
todo es serio y ordenado, todo es racional y programado, precisamente porque todo es falso e ilusorio
  #2 (permalink)  
Antiguo 01/02/2016, 08:16
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Duda sobre TRIGGERS

Es posible, Pero tienes que tener en cuenta que ese ID debe ser parte de los datos de la tabla DATOS, Ya que e un TRIGGER los únicos datos de entrada son los que se asignará a cada campo.
En realidad la tarea que quieres hacer en el TRIGGER es nasnpropia de un stored procedure, donde la inserción en la primera tabla estaría incluida.
Un TRIGGER es demasiado para lo que necesitas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 01/02/2016, 08:21
Avatar de Nox
Nox
 
Fecha de Ingreso: diciembre-2004
Ubicación: Viña del Mar
Mensajes: 72
Antigüedad: 19 años, 11 meses
Puntos: 1
Respuesta: Duda sobre TRIGGERS

Es demasiado? yo la verdad es que desconozco los alcances de esto, hasta ahora siempre he trabajado con php+mysql, nunca con este tipo de procedimientos.

El ID está tanto en la tabla "datos" como en la tabla "configuración", básicamente lo que tengo que hacer es:

- Ingresa un nuevo dato X con ID 506
- Busco en "configuración" el multiplicador Y para el ID 506
- Multiplico X*Y y el resultado Z lo guardo en "resultados" (y el ID 506 también se guarda en esta tabla)

Es una forma básica de explicarlo, porque en realidad necesito más que una multiplicación, son unos varios datos más, pero sabiendo hacer esto, se puede hacer lo otro :)
__________________
todo es serio y ordenado, todo es racional y programado, precisamente porque todo es falso e ilusorio
  #4 (permalink)  
Antiguo 01/02/2016, 08:27
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Duda sobre TRIGGERS

Si necesitas hacer más de una tarea, y estas dependen de diferentes datos recibidos u obtenidos en validaciones, entonces efectivamente como te dije, tienes forzosamente por stored procedure y NO por TRIGGERS.
Ambos son rutinas almacenadas, Pero se usan de diferente forma.
Para la aplicación la diferencia sería que en lugar de ejecutar un INSERT invocaria un SP con la misma cantidad de parámetros de entrada. El SP contendría toda la lógica necesaria.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 01/02/2016, 08:34
Avatar de Nox
Nox
 
Fecha de Ingreso: diciembre-2004
Ubicación: Viña del Mar
Mensajes: 72
Antigüedad: 19 años, 11 meses
Puntos: 1
Respuesta: Duda sobre TRIGGERS

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Si necesitas hacer más de una tarea, y estas dependen de diferentes datos recibidos u obtenidos en validaciones, entonces efectivamente como te dije, tienes forzosamente por stored procedure y NO por TRIGGERS.
Ambos son rutinas almacenadas, Pero se usan de diferente forma.
Para la aplicación la diferencia sería que en lugar de ejecutar un INSERT invocaria un SP con la misma cantidad de parámetros de entrada. El SP contendría toda la lógica necesaria.
Muchas gracias, voy a estudiar al respecto y probablemente me aparezca por aquí molestando de nuevo
__________________
todo es serio y ordenado, todo es racional y programado, precisamente porque todo es falso e ilusorio

Etiquetas: campo, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:43.