Procedimiento de actualización de registros

Tengo el siguiente problema tengo una tabla en la que guardo un campo fecha current_timestamp y otro campo en donde siempre guardo la palabra pendiente
Lo que debo hacer es un procedimiento almacenado en el cual cambie la palabra pendiente ha anulado si el campo fecha tiene un día de antigüedad en comparación a la hora del server

1 Respuesta

Respuesta
1
Casi te das la respuesta tu mismo. Para comprobar que un campo del tipo TIMESTAMP cuyo valor por defecto es CURRENT_TIMESTAMP tiene una fecha mayor o igual a la actual del Servidor solo tienes que compararla con la variable CURRENT_TIMESTAMP.
Así...
UPDATE `tabla`
SET `palabra` = `anulado`
WHERE `palabra` = 'pendiente'
AND fecha < CURRENT_TIMESTAMP
... actualizará tu tabla de manera que aquellas filas que tengan la palabra 'pendiente' y su fecha de creación sea menor a la hora actual del Servidor (CURRENT_TIMESTAMP) pasen al valor 'anulado'. Solo debes meter éste o un Sql adaptado a tus necesidades en el procedimiento que necesites hacer.
Esta bien esa respuesta muchas gracias de hecho encontré algo similar a eso, una pregunta más, debo correr este procedimiento todos los días a las 9 de la noche en mysql
Existe un servicio como sqlserver como los jobs, ¿para programar el arranque de estos a cierta hora? O lo debo realizar por algún otro método desde linux
MySQL no dispone de Tareas Programadas como SQLServer. La única forma de automatizar procesos en Linux es usar cron.
Cron permite indicar con que frecuencia se ejecuta un comando.
En el siguiente enlace encontrarás dicho formato así como ejemplos de como establecer dicha Tarea Programada.
http://es.wikipedia.org/wiki/Cron_%28Unix%29

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas