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

triggers en MYSQL

Estas en el tema de triggers en MYSQL en el foro de Mysql en Foros del Web. [.............] buenas. alguien me puede decir como funcionan los triggers en MYSQL. es decir, uso en SQL y veo que no es igual la sintaxis ...
  #1 (permalink)  
Antiguo 29/11/2011, 22:12
 
Fecha de Ingreso: mayo-2011
Ubicación: sinaloa
Mensajes: 150
Antigüedad: 12 años, 11 meses
Puntos: 4
triggers en MYSQL

[.............]
buenas. alguien me puede decir como funcionan los triggers en MYSQL.

es decir, uso en SQL y veo que no es igual la sintaxis para MYSQL.


si me puden mandar un ejemplo mas sencillo que el que esta en la documentacion y con algo de descripcion de los agradeceria, muchas gracias.
  #2 (permalink)  
Antiguo 29/11/2011, 23:47
Avatar de Rodrhigo  
Fecha de Ingreso: septiembre-2011
Ubicación: Temuco-Valdivia-Osorno
Mensajes: 254
Antigüedad: 12 años, 7 meses
Puntos: 48
Respuesta: triggers en MYSQL

Se tiene una tabla A y se desea ingresar la hora en que se realizo una inserccion en esta tabla y guardar esta hora en una tabla B

DELIMITER |

CREATE TRIGGER Nombre_Disparador BEFORE INSERT ON tabla_a
FOR EACH ROW BEGIN
INSERT INTO tabla_b(Hora) values( Now() );
END
|

DELIMITER ;
---------------------------------
El delimiter es para que cuando uses un punto y coma( ; ) mysql no lo tome como que estas terminando la sintaxis.....

este disparador se puede gatillar antes de insertar(before insert) o despues de insertar(after insert).

en las actualizaciones puedes usar new.columna_valor y old.columna_valor para hacer referencia a el valor antiguo(es actualizacion haci que ya se habia insertado antes y a ese valor accedemos)....y cuando se usa New hace referencia al valor nuevo que se esta actualizando.

http://dev.mysql.com/doc/refman/5.0/...e-trigger.html

jejeje ni yo me entiendo....espero que otra persona se anime a explicarte :P
  #3 (permalink)  
Antiguo 30/11/2011, 18:56
 
Fecha de Ingreso: mayo-2011
Ubicación: sinaloa
Mensajes: 150
Antigüedad: 12 años, 11 meses
Puntos: 4
Respuesta: triggers en MYSQL

muchas gracias, entnendi todo menos los de new y old.



la verdad tengo varios triggers en SQL server lo domino bien, al menos conosco la sintaxis.

lo que me interesa en mysql es::
1.- como consultar con lo que estoy insertando o eliminando y meterlo en una variable.
2.- como saber cuando es before o after..... no me quedo claro.
3.- algun manual con ejemplos sencillos donde usen algunas funciones min,max,sum,avg,etc?
  #4 (permalink)  
Antiguo 30/11/2011, 22:08
Avatar de 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, 4 meses
Puntos: 2658
Respuesta: triggers en MYSQL

Veamos:
Caso 1: No es asunto de MySQL. Sólo la consulta en SQL se hace con MySQL, el resto es tema de programación en el lenguaje que sea. SI no sabes lo que estás enviando o borrando antes de hacerlo, entonces lo que está mal es el programa, no la sentencia de SQL.
Caso 2) Todo depende si la tarea es antes o después de completar la inserción o eliminación. En el primer caso, el evento aún no ha ocurrido, por lo que el estado de la tabla es el previo a la operación. El AFTER es el estado ya completado.
Caso 3: Cualquier manual o tutorial (hay infinidades en Internet), porque esas funciones son parte del estándar SQL, y por tanto existen en todos los DBMS, donde se usan de la misma forma, con ínfimas diferencias en algunos casos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: sql, trigger
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:36.