2
respostas

Não entendi o instrutor não , o mesmo disse que não tem como fazer, e tem sim ou estou bastante enganando

CREATE DEFINER=root@localhost PROCEDURE SP_COMPARATIVO_VENDAS_CASE(DataInicial date, DataFinal date) BEGIN DECLARE FaturamentoInicial FLOAT; DECLARE FaturamentoFinal FLOAT; DECLARE Variacao FLOAT; -- SELECT COM INNER JOIN PARA OBTER O TOTAL INICIAL ( VAI SE GUARDADO DENTRO DA VARIAVEL FaturamentoInicial) SELECT ROUND(SUM(INF.QUANTIDADE * INF.PRECO)) INTO FaturamentoInicial FROM NOTAS_FISCAIS NF INNER JOIN ITENS_NOTAS_FISCAIS INF ON NF.NUMERO = INF.NUMERO WHERE NF.DATA_VENDA = DataInicial; -- SELECT COM INNER JOIN PARA OBTER O TOTAL FINAL ( VAI SE GUARDADO DENTRO DA VARIAVEL FaturamentoFinal) SELECT ROUND(SUM(INF.QUANTIDADE * INF.PRECO)) INTO FaturamentoFinal FROM NOTAS_FISCAIS NF INNER JOIN ITENS_NOTAS_FISCAIS INF ON NF.NUMERO = INF.NUMERO WHERE NF.DATA_VENDA = DataFinal; SET Variacao = ((FaturamentoFinal / FaturamentoInicial) -1) *100; CASE WHEN Variacao > 10 THEN SELECT 'VERDE'; WHEN Variacao >= -10 AND Variacao <=10 THEN SELECT 'AMARELO'; ELSE SELECT 'VERMELHO'; END CASE;

END

2 respostas

Olá Edson!

É realmente deve ter acontecido algum engano, fiz os testes aqui também e realmente é possível, também não vi na documentação do MySQL falando que não é possível utilizar esses operadores. Já foi removido por enquanto, logo vão corrigir o exercício.

Espero que tenha ajudado!

Oi Jonilson e Edson,

estou verificando com o instrutor qual foi a intenção desse exercício, pois realmente não está batendo. Estou desabilitando o exercício até acharmos uma solução melhor.

Obrigado pelo aviso, Nico