0 votos positivos 0 votos negativos
754 visitas
em Bancos de Dados (livres) por monitor (11,3K pontos)

Bom dia a todos!

Existe alguns tabelas de cadastro no banco de dados que estão com muito erro de cadastro.
Mesmo, realizando o treinamento com o pessoal, ainda continuam cometendo os mesmos erros.

Então, realizei a criação de uma procedure para fazer essa "limpeza". Porém, tenho que ficar executando ela manualmente.

Gostaria de saber se existe uma forma para eu agendar um horário para ela executar todos os dias no MySQL?

MariaDB 10.3.27

Desde já agradeço a atenção

2 Respostas

1 voto positivo 0 votos negativos
por monitor (15,8K pontos)
selecionada por
 
Melhor resposta

Sobre o seu problema, eu assino embaixo a consideração feita pelo Jrs. Mas, sobre a parte da possibilidade de agendar tarefas com o próprio MariaDB, sim, esse recurso existe.

O conceito básico é que nós podemos criar eventos através de objetos nomeados contendo declarações que podem ser executadas em um dado momento ou repetidas vezes em intervalos de tempo regulares.

Para criar um evento, nós utilizamos a declaração CREATE EVENT, como no exemplo:

CREATE EVENT nome_do_evento 
    ON SCHEDULE EVERY 1 MINUTE DO 
    UPDATE minha_tabela SET coluna_x = coluna_x + 1;

Os eventos só serão executados se a variável do sistema event_scheduler estiver setada como On. Isso pode ser verificado com a instrução:

SHOW PROCESSLIST;

Caso não esteja habilitado, você pode definir o novo valor de event_scheduler com a instrução:

SET GLOBAL event_scheduler = ON;

Como este procedimento tem muitas possibilidades de uso, eu recomendo que você leia a documentação oficial em:

https://mariadb.com/kb/en/events/

2 votos positivos 0 votos negativos
por colaborador (5,5K pontos)
editado por

Acredito que esse agendamento pode ser feito através da ferramenta cron

Clique Aqui

Se a sua aplicação está enfrentando esse tipo de problema, o ideal seria você sentar e analisar uma forma de minimizar o impacto do mal uso de seus usuários, seja validando as informações antes de gravar elas ou questionando a falta de preenchimento delas, ambos pela sua própria aplicação.

Seja bem-vindo(a) à comunidade debxp, onde você pode fazer perguntas e receber respostas de outros membros.
Atenção pessoal, esta plataforma não é um fórum, embora se pareça muito com um. Neste tipo de ferramenta, o objetivo é fazer e responder perguntas que possam resultar em material de consulta para outras pessoas que tenham as mesmas dúvidas e dificuldades. Portanto, não há sentido em utilizarmos o Ask para socialização, para emitir opiniões pessoais ou para perguntas do tipo "quem usa isso ou aquilo". Espero que compreendam o nosso propósito. :-)
...