Olá pessoal, vamos dar sequência no assunto eventos no MySql. Nesta série de Tips já aprendemos a criar eventos recorrentes, que são executados a cada intervalo de tempo. E aprendenmos também a criar evento com agendamento, ou seja, determinar quando o evento será executados.

Hoje nós veremos como juntar as duas coisas, ou seja, criar eventos recorrentes que sejam disparados com hora marcada, ou melhor. Vamos aprender a criar eventos recorrentes porém determinaremos quando eles vão iniciar e quando vão terminar se é que vão.

A figura abaixo mostra o codigo de um evento para ser disparado a cada 1 segundo.



Como já sabemos os eventos são criados ativos, assim o insert ja começa a ser disparado desdo o momento em que o evento é criado. Observe:



Agora vamos fazer o seguinte, vamos criar um evento para ser disparado a cada 1 segundo, porém ele só vai começar a funcionar, ou melhor, ele só vai começar a ser executado 10 segundos depois do evento ser criado e ele irá parar de executar 60 segundos após o evento ter sido criado. Ou seja, o evento vai ficar ativo por somente 50 segundos. Observe:



Observe que agora temos mais 2 linhas no comando CREATE EVENT, são elas STARTS e ENDS. Passamos para eles o data e hora que queremos iniciar a execução e a data e hora que queremos que a execução seja interrompida. Repare que expressões de data são suportadas conforme passamos acima. Observe o evento entrando em operação.





Veja que a ultima execução o evento de 1 segundo foi as 14:44:04 e a próxima execução foi as 14:44:14. Exatamente 10 segundo após o evento ter sido alterado. Veja a hora da ultima execução:



Simples Assim !!!

Pessoal eu fico por aqui, mas ainda temos alguma coisas para falar sobre Event, mas fica para a próxima TIP. Abraços !!