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

actualizar campo desde un evento

Estas en el tema de actualizar campo desde un evento en el foro de Mysql en Foros del Web. Saludos a todos, tengo la siguiente inquietud: deseo que al trascurrir determinados días el campo estado me guarde las opciones (Al día, vencido, cobro jurídico) ...
  #1 (permalink)  
Antiguo 28/12/2014, 10:23
Avatar de heberthm  
Fecha de Ingreso: noviembre-2013
Ubicación: Cali
Mensajes: 65
Antigüedad: 10 años, 4 meses
Puntos: 1
actualizar campo desde un evento

Saludos a todos, tengo la siguiente inquietud: deseo que al trascurrir determinados días el campo estado me guarde las opciones (Al día, vencido, cobro jurídico)
dependiendo si días es >30, >60 o es >90 respectivamente. Estoy utilizando el siguiente código:

Código MySQL:
Ver original
  1. CREATE DEFINER =  `root`@`localhost` EVENT `diasTrascurridos`
  2.             ON SCHEDULE EVERY 1 DAY
  3.             STARTS '2014-12-05 '
  4.             ON COMPLETION  PRESERVE ENABLE DO
  5.             UPDATE facturas SET dias_trascurridos='1'  
  6.             WHERE DATEDIFF(NOW(),fecha_prestamo) > 30


No se como utilizar como incluir los condicionales IF.

Gracias de antemano.
__________________
Hebeth Mazuera

Última edición por gnzsoloyo; 28/12/2014 a las 10:33
  #2 (permalink)  
Antiguo 28/12/2014, 10:38
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, 5 meses
Puntos: 2658
Respuesta: actualizar campo desde un evento

Un EVENT es en esencia una rutina almacenada que se ejecuta cada determinado tiempo, en forma automática. Pero como rutina almacenada puede ser construida con iguales recursos que un stored procedure, stored function e incluso los trigger, en aquellos casos donde se usen más de una linea para crear la rutina.
Si te fijas el el manual de referencia (http://dev.mysql.com/doc/refman/5.1/...ate-event.html), verás al pie un par de ejemplos de EVENT de múltiples lineas, donde las condiciones de evaluación se programan (como en todos los casos mencionados), entre bloques de BEGIN/END...


Este es el ejemplo del manual:
Código MySQL:
Ver original
  1. delimiter $$
  2.  
  3. CREATE EVENT e_daily
  4.     ON SCHEDULE
  5.       EVERY 1 DAY
  6.     COMMENT 'Saves total number of sessions then clears the table each day'
  7.     DO
  8.       BEGIN
  9.         INSERT INTO site_activity.totals (time, total)
  10.           SELECT CURRENT_TIMESTAMP, COUNT(*)
  11.             FROM site_activity.sessions;
  12.         DELETE FROM site_activity.sessions;
  13.       END $$
Como puedes ver, hay mas de una sentencia en ese EVENT.

¿Cómo escribirías tu EVENT para cumplir con lo que quieres?
__________________
¿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 28/12/2014, 22:12
Avatar de heberthm  
Fecha de Ingreso: noviembre-2013
Ubicación: Cali
Mensajes: 65
Antigüedad: 10 años, 4 meses
Puntos: 1
Respuesta: actualizar campo desde un evento

gracias gnzsoloyo por tu pronta respuesta.
__________________
Hebeth Mazuera

Etiquetas: campo, evento, update
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 00:34.