Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Excesso de parâmetros no WHEN THEN

Não sei se este espaço serve também para comentários, compartilhamentos. É que tá escrito "discutir no fórum", então tô discutindo. Rs. Por favor me avisem se eu estiver usando mal o espaço.

Notei que isto

WHEN PRECO_DE_LISTA >= 12 THEN 'PRODUTO CARO' WHEN PRECO_DE_LISTA >= 7 AND PRECO_DE_LISTA < 12 THEN 'PRODUTO EM CONTA'

é igual a isto

WHEN PRECO_DE_LISTA >= 12 THEN 'PRODUTO CARO' WHEN PRECO_DE_LISTA >= 7 THEN 'PRODUTO EM CONTA'

Ou seja, o AND é dispensável, porque a primeira condição já foi testada e, se ela for verdadeira, não se chega na segunda. Quer dizer, se o preço for 19, apesar da condição ser verdadeira para as duas formulações, a segunda não chegará a ser testada.

Isso também impede que, por um erro de digitação, fique algum caso a descoberto. Exemplo:

WHEN PRECO_DE_LISTA >= 12 THEN 'PRODUTO CARO' WHEN PRECO_DE_LISTA >= 7 AND PRECO_DE_LISTA < 10 THEN 'PRODUTO EM CONTA'

E aí o 10 e o 11 entrariam erroneamente na condição negativa do ELSE.

insira seu código aqui
1 resposta
solução!

Olá Bruno, tudo bem? Boa percepção, é verdade poderíamos dispensar a utilização do último WHEN. E sim, o fórum é justamente para isso, discutirmos sobre erros, problemas, códigos melhorias e tudo mais quanto aos cursos.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software