Tenho uma tabela com vários campos, um desses campos chama-se TERMINA, onde mostra uma data de término. Quando a data atual ultrapassar essa data de término, tenho que alterar um campo de STATUS, que tem como default "ABERTO", para "FECHADO".
O QUE PENSEI:
Fazer um schedule que verificaria uma vez por dia o campo TERMINA de todos os registros. Se o campo TERMINA de um ou mais desses registros fosse ultrapassado pela data atual, eu
então atualizaria o campo STATUS desses registros para "FECHADO".
Como fiz o Schedule:
DELIMITER |
CREATE EVENT verifica_termino
ON SCHEDULE
EVERY 1 DAY
DO
UPDATE ListP SET Status = 'fechada' WHERE
(SELECT DATEDIFF((SELECT termina FROM ListP WHERE Status = 'aberta'), CURDATE())) < 0;
END |
DELIMITER ;
Mas esse código aí está dando erro. Alguém tem alguma idéia??
Pergunta
Marcmc
Amigos é o seguinte,
Tenho uma tabela com vários campos, um desses campos chama-se TERMINA, onde mostra uma data de término. Quando a data atual ultrapassar essa data de término, tenho que alterar um campo de STATUS, que tem como default "ABERTO", para "FECHADO".
O QUE PENSEI:
Fazer um schedule que verificaria uma vez por dia o campo TERMINA de todos os registros. Se o campo TERMINA de um ou mais desses registros fosse ultrapassado pela data atual, eu
então atualizaria o campo STATUS desses registros para "FECHADO".
Como fiz o Schedule:
DELIMITER |
CREATE EVENT verifica_termino
ON SCHEDULE
EVERY 1 DAY
DO
UPDATE ListP SET Status = 'fechada' WHERE
(SELECT DATEDIFF((SELECT termina FROM ListP WHERE Status = 'aberta'), CURDATE())) < 0;
END |
DELIMITER ;
Mas esse código aí está dando erro. Alguém tem alguma idéia??
Editado por MarcmcLink para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.