Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como posso usar transações no meu procedimento armazenado MySQL?


Dois erros de sintaxe:

  • Você precisa de vírgulas entre as condições para seu manipulador de saída. Observe a documentação de sintaxe mostra vírgulas.

  • Você precisa encerrar o END do manipulador de saída com um ponto e vírgula. O DECLARE A instrução em si (incluindo seu bloco BEGIN...END) é uma instrução como qualquer outra e precisa ter um terminador.

Então você precisa disso:
DECLARE EXIT HANDLER FOR SQLEXCEPTION, SQLWARNING
BEGIN
    ROLLBACK;
END;