1
resposta

MINHA RESPOSTA

Segue como resolvi o exercício:

USE `sucos_vendas`;

DELIMITER $$
USE `sucos_vendas`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `COMPARATIVO_VENDAS_CASE_COND`(VDATA_INICIAL DATE, VDATA_FINAL DATE)
BEGIN
    DECLARE VMENSAGEM VARCHAR(30);
    DECLARE FATURAMENTO_INICIAL FLOAT;
    DECLARE FATURAMENTO_FINAL FLOAT;

    SELECT SUM(B.QUANTIDADE * B.PRECO) AS TOTAL_VENDA INTO FATURAMENTO_INICIAL FROM 
    NOTAS_FISCAIS A INNER JOIN ITENS_NOTAS_FISCAIS B
    ON A.NUMERO = B.NUMERO
    WHERE A.DATA_VENDA = VDATA_INICIAL;

    SELECT SUM(B.QUANTIDADE * B.PRECO) AS TOTAL_VENDA INTO FATURAMENTO_FINAL FROM 
    NOTAS_FISCAIS A INNER JOIN ITENS_NOTAS_FISCAIS B
    ON A.NUMERO = B.NUMERO
    WHERE A.DATA_VENDA = VDATA_FINAL;

    CASE
    WHEN FATURAMENTO_FINAL > (1.1 * FATURAMENTO_INICIAL) THEN SET VMENSAGEM = 'VERDE';
    WHEN FATURAMENTO_FINAL <= (1.1 * FATURAMENTO_INICIAL) AND FATURAMENTO_FINAL >= (0.9 * FATURAMENTO_INICIAL)
    THEN SET VMENSAGEM = 'AMARELA';
    WHEN FATURAMENTO_FINAL < (0.9 * FATURAMENTO_INICIAL) THEN SET VMENSAGEM = 'VERMELHO';
    END CASE;
    SELECT VMENSAGEM;

END$$

DELIMITER ;
;

CALL COMPARATIVO_VENDAS_CASE_COND('20150101', '20150102');
1 resposta

Olá, Rodrigo, tudo bem?

A sua procedure ficou muito legal, você está indo muito bem :).

Continue assim e bons estudos!