Eu fiz uma procedure para deletar trigger dinamicamente, mas não funciona, dá erro de: This command is not supported in the prepared statement protocol yet
Descobri na documentação que o PREPARE não funciona para DROP TRIGGER https://dev.mysql.com/doc/refman/5.6/en/sql-syntax-prepared-statements.html
Se não posso usar o PREPARE, como consigo executar um STRING dentro de uma procedure com comando MYSQL dentro? Lembrando que ele precisar executar uma string, pois irei montar dinamicamente a string com algumas variáveis/parametros.
No exemplo abaixo estou colocando explicitamente o nome de uma trigger para ficar mais limpo o código sem passagem de parametros para conseguir ajuda.
DROP procedure IF EXISTS sp_gerar_trigger_inicial_db;
CREATE PROCEDURE sp_gerar_trigger_inicial_db()
BEGIN
SET @query = 'DROP TRIGGER IF EXISTS tbi_acessos';
PREPARE stmt from @query;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END;
call sp_gerar_trigger_inicial_db();
Estou usando MYSQL 5.6,