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

Ayuda con un trigger

Estas en el tema de Ayuda con un trigger en el foro de Mysql en Foros del Web. Amigo estoy tratando de crear un trigger que modifique datos en una tabla, yo no se casi nada de Mysql, pero logre hacer esto: Código: ...
  #1 (permalink)  
Antiguo 24/12/2010, 09:59
 
Fecha de Ingreso: noviembre-2010
Mensajes: 35
Antigüedad: 13 años, 5 meses
Puntos: 1
Exclamación Ayuda con un trigger

Amigo estoy tratando de crear un trigger que modifique datos en una tabla, yo no se casi nada de Mysql, pero logre hacer esto:
Código:
UPDATE 
    `product`
SET 
    `product`.`status` = IF (`product`.`quantity` > 0, 1, 0)
WHERE
    `product`.`product_id`
, pero quiero ver si es posible hacer algo asi con un trigger.
intente hacer esto:
Código:
CREATE DEFINER = CURRENT_USER TRIGGER `product_before_upd_tr` BEFORE UPDATE ON `product`
  FOR EACH ROW
BEGIN
SET`status` = IF (`product`.`quantity` > 0, 1, 0)
WHERE`product_id`
END;
pero no funciona
gracias
  #2 (permalink)  
Antiguo 24/12/2010, 14:21
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: Ayuda con un trigger

No funciona porque no se puede hacer de ese modo.
Un TRIGGER es una rutina en SQL, tal y como un Stored Procedure, pero con algunas restricciones, una de las cuales es no poder hacer otra operación DML sobre si misma...
En tu caso se puede hacer algo parecido:
Código MySQL:
Ver original
  1. DELIMITER $$
  2. CREATE TRIGGER `product_before_upd_tr` BEFORE UPDATE ON `product`
  3. SET NEW.`status` = IF (OLD.`quantity` > 0, 1, 0);
  4. END$$
  5. DELIMITER ;
__________________
¿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 24/12/2010, 14:56
 
Fecha de Ingreso: noviembre-2010
Mensajes: 35
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Ayuda con un trigger

Gracias por tan pronta respuesta.
pruebo y les comento, aunque ya encontré una solución, que es crear una vista, y luego realizo el update
  #4 (permalink)  
Antiguo 25/12/2010, 12:18
 
Fecha de Ingreso: noviembre-2010
Mensajes: 35
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Ayuda con un trigger

Gracias gnzsoloyo, funciona perfecto, mil gracias

Etiquetas: 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 06:42.