1
resposta

[Projeto] 08 - Calculando o valor total do faturamento (SOLUÇÃO)

Crie uma Stored Procedure usando um cursor para achar o valor total do faturamento para um mês e um ano.

Solução:

DELIMITER $$
USE sucos_vendas $$
CREATE PROCEDURE Mais_Um_Campo (vMes INT, vAno INT)
BEGIN
    DECLARE fim_do_cursor INT DEFAULT 0;
    DECLARE vQuantidade INT;
    DECLARE vPreco FLOAT;
    DECLARE vTotal_Vendas FLOAT DEFAULT 0;
    DECLARE c CURSOR FOR
        SELECT INF.QUANTIDADE, INF.PRECO FROM itens_notas_fiscais INF
        INNER JOIN notas_fiscais NF ON NF.NUMERO = INF.NUMERO
        WHERE MONTH(NF.DATA_VENDA) = vMes AND YEAR(NF.DATA_VENDA) = vAno;
    DECLARE CONTINUE HANDLER FOR NOT FOUND SET fim_do_cursor = 1;

    OPEN c;
        WHILE fim_do_cursor = 0 DO
            FETCH c INTO vQuantidade, vPreco;
            SET vTotal_Vendas = vTotal_Vendas + (vQuantidade * vPreco);
        END WHILE;
    CLOSE c;

    SELECT CONCAT('O total de vendas para o mês ', vMes, '/', vAno, ' é R$ ', vTotal_Vendas) AS FATURAMENTO;
END $$
DELIMITER ;

CALL Mais_Um_Campo(1,2017);

Output:

FATURAMENTO
O total de vendas para o mês 1/2017 é R$ 3838950
1 resposta

Oi, Sarah!! Espero que esteja bem.

Mandou super bem na resolução do exercício. Gostei bastante de como você estruturou a Stored Procedure e de como formatou o valor total do faturamento!

Fico à disposição caso surjam dúvidas ao decorrer dos seus estudos.

Abraços e até mais!