CREATE PROCEDURE `compara_vendas_case`(vData1 DATE, vData2 DATE)
BEGIN
DECLARE MENSAGEM VARCHAR (50);
DECLARE FATURAMENTO_INICIAL FLOAT;
DECLARE FATURAMENTO_FINAL FLOAT;
DECLARE VARIACAO FLOAT;
SELECT ROUND(SUM(B.QUANTIDADE * B.PRECO)) INTO FATURAMENTO_INICIAL FROM
NOTAS_FISCAIS A INNER JOIN ITENS_NOTAS_FISCAIS B
ON A.NUMERO = B.NUMERO
WHERE A.DATA_VENDA = vData1;
SELECT ROUND(SUM(B.QUANTIDADE * B.PRECO)) INTO FATURAMENTO_FINAL FROM
NOTAS_FISCAIS A INNER JOIN ITENS_NOTAS_FISCAIS B
ON A.NUMERO = B.NUMERO
WHERE A.DATA_VENDA = vData2;
SET VARIACAO = ((FATURAMENTO_FINAL/FATURAMENTO_INICIAL)-1)*100;
CASE
WHEN VARIACAO > 10 THEN SET MENSAGEM = 'VERDE!';
WHEN VARIACAO >= -10 AND VARIACAO <= 10 THEN SET MENSAGEM = 'AMARELO!';
WHEN VARIACAO < -10 THEN SET MENSAGEM = 'VERMELHO!';
END CASE;
SELECT FATURAMENTO_INICIAL, FATURAMENTO_FINAL, VARIACAO, MENSAGEM;
END