1
resposta

DECLARE CONTINUE ou EXIT

Olá, fiquei meio perdido. Gostaria de ENTENDER A DIFERENÇA (uso) entre:

1) DECLARE CONTINUE HANDLER FOR 2) DECLARE EXIT HANDLER FOR

Incluo na minha pergunta, uma segunda dúvida: a questão do BEGIN que foi utilizado quando usamos o EXIT e quando usamos o CONTINUE apenas 'setamos' o valor da variável.

Agradeço!

1 resposta

Oii Felipe, tudo bom?

Quando tem um erro dentro de uma procedure, é importante tratar apropriadamente, como continuar ou sair da execução do bloco de código atual e emitir uma mensagem de erro significativa. Onde entra a instrução DECLARE HANDLER, que é uma maneira fácil de definir manipuladores que tratam de condições gerais, como avisos ou exceções, para condições específicas, por exemplo, códigos de erro específicos. Um exemplo é o que o instrutor fez na aula com o CASE.

Indo para a sintaxe:

DECLARE ação HANDLER FOR valor_condição statement;

Se uma condição cujo valor corresponde a valor_condição, o MySQL vai executar o statement e vai continuar ou sair do bloco de código atual com base na ação.

A ação aceita um dos seguintes valores:

  • CONTINUE: a execução do bloco de código (BEGIN... END) continua.
  • EXIT: a execução do bloco de código, onde o manipulador é declarado, termina.

O valor_condição especifica uma condição particular ou uma classe de condições que ativam o manipulador. O valor_condição aceita um dos seguintes valores:

  • Um código de erro do MySQL.
  • Uma condição nomeada associada a um código ou SQLSTATE valor de erro MySQL.

Volto ao exemplo do CASE que o instrutor realizou em aula, foi tratado o erro do case não está completo .

Sobre a segunda dúvida eu não compreendi bem ela, poderia reformular, por gentileza?

Fico aguardando :)