1
resposta

[MINHA RESPOSTA]

DELIMITER $$
CREATE PROCEDURE Mais_Um_Campo ( vMes INT)
BEGIN
DECLARE vQuantity INT;
DECLARE vPrice FLOAT;
DECLARE vRevenues FLOAT DEFAULT 0;
DECLARE cursor_end INT DEFAULT 0;
DECLARE c CURSOR FOR
SELECT INF.QUANTIDADE, FORMAT(INF.PRECO, 2) FROM ITENS_NOTAS INF
INNER JOIN NOTAS NF ON NF.NUMERO = INF.NUMERO
WHERE MONTH(NF.DATA_VENDA) = vMes AND YEAR(NF.DATA_VENDA) = 2017;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET cursor_end = 1;
OPEN c;
WHILE cursor_end = 0
DO
    FETCH c INTO vQuantity, vPrice;
    IF cursor_end = 0 THEN
        SET vRevenues = vRevenues + (vQuantity * vPrice);
    END IF;
END WHILE;
CLOSE c;
SELECT vRevenues;
END $$
DELIMITER ;

CALL Mais_Um_Campo (3);
1 resposta

Olá Bruno, tudo bem?

Parabéns Bruno, a sua procedure ficou muito legal e funcionou direitinho, você está indo muito bem :)

Foi muito legal também você ter compartilhado a sua resposta da atividade aqui com a gente :).

Continue assim e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software