delimiter yy
create procedure fatmesano (mes int, ano int)
begin
-- 1 --
declare fimloop int default 0;
declare quanti int;
declare preco float;
declare fat float;
declare c cursor for select a.quantidade, a.preco from itens_notas_fiscais a inner join notas_fiscais b on a.numero = b.numero
WHERE MONTH(b.DATA_VENDA) = mes AND YEAR(b.DATA_VENDA) = ano;
-- 2 --
declare continue handler for not found set fimloop = 1;
-- 3 --
set fat = 0;
set fimloop = 0;
open c;
-- 4 --
while fimloop = 0
do FETCH c into quanti, preco;
if fimloop = 0 then set fat = fat + (quanti*preco);
-- 5 --
end if;
end while;
close c;
-- 6 --
select fat as Faturamento, ano as 'Ano consultado', case
when mes = 1 then 'Janeiro'
when mes = 2 then 'Fevereiro'
when mes = 3 then 'Março'
when mes = 4 then 'Abril'
when mes = 5 then 'Maio'
when mes = 6 then 'Junho'
when mes = 7 then 'Julho'
when mes = 8 then 'Agosto'
when mes = 9 then 'Setembro'
when mes = 10 then 'Outubro'
when mes = 11 then 'Novembro'
when mes = 12 then 'Dezembro'
end as 'Mês consultado';
end yy
delimiter ;