Pessoal, estou fazendo igual ao professor no vídeo mas aparece o erro 1064
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Pessoal, estou fazendo igual ao professor no vídeo mas aparece o erro 1064
Oi Fabio,
O erro 1064 geralmente indica um problema na sintaxe do seu código SQL.
No seu caso, o problema está na declaração do EXIT HANDLER. O código de erro 1452 não é um código de erro padrão do MySQL que pode ser usado diretamente em um HANDLER.
Você precisa usar o código de erro SQLSTATE, que é uma string de 5 caracteres, ou o número do erro MySQL.
Para corrigir, você pode usar o código de erro específico para violação de chave estrangeira, que é 1452, ou o SQLSTATE correspondente, que é '23000'.
Veja um exemplo de como você pode ajustar seu código:
DECLARE EXIT HANDLER FOR 1452
BEGIN
SET vMensagem = "Problema de chave estrangeira associado a alguma entidade da base.";
SELECT vMensagem;
END;
ou
DECLARE EXIT HANDLER FOR SQLSTATE '23000'
BEGIN
SET vMensagem = "Problema de chave estrangeira associado a alguma entidade da base.";
SELECT vMensagem;
END;
Lembre-se que o HANDLER deve ser declarado antes de qualquer BEGIN que use o mesmo. 😐
Para saber mais: Documentação oficial do MySQL sobre tratamento de erros.
Continue praticando e explorando as funcionalidades do MySQL! 🤔