1
resposta

A função apresentada em vídeo não roda.

Boa tarde, poderiam me ajudar com o erro abaixo? Tentei rodar a função aprendida em aula mas apenas aparecem os dois erros ' 1305 e 1064'

SELECT A.NOME_DO_PRODUTO, A.EMBALAGEM, A.PRECO_DE_LISTA, X.MAIOR_PRECO
(A.PRECO_DE_LISTA / X.MAIOR_PRECO) * 100 AS PERCENTUAL
FROM tabela_de_produtos A INNER JOIN vw_maiores_embalagens X
ON A.EMBALAGEM = X.EMBALAGEM;

Verifiquei a View criada e a função roda sem problema.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Oi, Rodrigo! Tudo bem?

Desde já, peço desculpas pela demora em retornar.

Cada um dos erros possui um fator diferente. Vamos olhá-los mais de perto?

Com relação à View, não precisa se preocupar, ela foi criada corretamente. Ao executar o comando SELECT, podemos perceber que está tudo certo com ela!

Inicialmente, o erro 1305 ocorre pela falta de uma vírgula após a indicação do campo X.MAIOR_PRECO. Quando estamos realizando o SELECT, os campos precisam ser separados por esse caractere, uma vez que ele promove a distinção de cada uma das colunas.

Inserindo uma vírgula após X.MAIOR_PRECO, temos o seguinte resultado:

SELECT A.NOME_DO_PRODUTO, A.EMBALAGEM, A.PRECO_DE_LISTA, X.MAIOR_PRECO,
(A.PRECO_DE_LISTA / X.MAIOR_PRECO) * 100 AS PERCENTUAL
FROM tabela_de_produtos A INNER JOIN vw_maiores_embalagens X
ON A.EMBALAGEM = X.EMBALAGEM;

Por outro lado, o erro 1064 nos indica que há um equívoco de sintaxe (de escrita) em nossa consulta. Visto que não há mais problemas em nosso código atual, possivelmente esse erro encontra-se em algo anterior ao SELECT. Nesse sentido, verifique se todos os códigos acima dele estão corretos e se todos os blocos de comandos foram finalizados com um ponto e vírgula (;).

Rodrigo, espero ter ajudado. Caso o erro persista ou surjam outras dúvidas, estarei aqui para solucionarmos isso juntos.

Até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.