[RESOLVIDO] Como dar um STOP em uma procedure no MySQL?

Olá,

Estou desenvolvendo um ‘sistema de turnos’ com PHP/MySQL e estou codificando direto no MySQL.

Eu criei uma ‘Stored Procedure’ (Procedimento) com um loop infinito para ir atualizando um campo do banco de dados. Funcionou em parte, porém deletei a stored procedure e a função continua a incrementar no banco de dados…rsrs

Como faço pra parar uma Procedure no MySQL?

Estou quase conseguindo…rs…espero conseguir criar direitinho.

Segue o código da Stored Procedure no MySQL:

DELIMITER $$
CREATE PROCEDURE atualizaTurnos()
BEGIN

DECLARE contador INT DEFAULT 0;

REPEAT

WHILE contador < 10 DO
DO sleep(1);
SET contador = contador + 1;

END WHILE;

SET contador = 0;

UPDATE cidade SET turnos = turnos + 3;

UNTIL (1!=1)
END REPEAT;

END $$
DELIMITER ;

Alguma ajuda? O contador não para de contar mesmo deletando a procedure…

Obrigado.

Fiquei embasbacado ao saber que para parar uma procedure no mysql, precisa ser “na força”.

Resolução 1:

  • Pare o serviço do MySQL.

Resolução 2:

  • Conecte-se ao servidor ou use o PHPMYADMIN e faça:

SHOW PROCESSLIST;

Procure o processo causando problema, notar que é o ID do processo, e fazer:

KILL ID_DO_PROCESSO;

Resolvido. Obrigado.