1
resposta

Erro na instrução no minuto 5:45. Rollback nos statements após captura da Exception.

No minuto 5:45 o professor se equivocou ao informar que o Postgres ignora todo o bloco de statements, dando rollback nas instruções já executadas. A própria documentação que ele mostra diz que apenas o processamento posterior ao erro capturado é abandonado. Ao realizar testes, é possível verificar que, de fato, os inserts anteriores ao erro são executados normalmente. Como dito nos outros tópicos do fórum, caso você use um "RETURN null;" dentro do bloco da exception, as instruções anteriores serão ignoradas, mas no exemplo dado pelo professor isso não acontece e a informação passada de que esse é o comportamento padrão não é verdadeira.

1 resposta

Ei! Tudo bem, Eziel?

De fato, em blocos BEGINEXCEPTIONEND no PostgreSQL, apenas o processamento posterior ao erro capturado é interrompido, e os comandos executados antes do erro permanecem válidos.

Encaminharei para o time de conteúdo restar ciente e caso queira reforçar, compartilhe o seu feedback sincero sobre esses pontos na pesquisa disponibilizada ao final do curso. É de grande importância!

Continue se dedicando aos estudos e qualquer dúvida, compartilhe!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!