1
resposta

Resposta com tratamento de erro

CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_soma_dias_notas`(p_data1 date, p_data2 date)
BEGIN
    declare v_data date;
    declare v_num_notas integer;
    set v_data = p_data1;

    if p_data1 > p_data2 then
        SELECT 'A data inicial deve ser anterior a data final' as 'Erro data';
    else
        delete from notas_por_dia;
        while v_data <= p_data2 do
            SELECT count(*) INTO v_num_notas FROM notas_fiscais
                WHERE DATA_VENDA = v_data;
            INSERT INTO notas_por_dia
                VALUES (v_data, v_num_notas);
            SELECT ADDDATE(v_data, INTERVAL 1 DAY) INTO v_data;
        end while;
        SELECT * FROM notas_por_dia;
    end if;
END
1 resposta

Oi, Luccas! Tudo certo?

Peço desculpas por demorar a responder.

Que bacana a sua Stored Procedure! Gostei bastante de como você a organizou e do fato de ter tratado um erro muito provável de acontecer. Ao longo dos nossos estudos, vamos nos aprofundando nos assuntos e ampliando a nossa visão sobre diferentes coisas, como na elaboração de estratégias que tornam o processo de manipulação de dados mais eficiente.

Se surgir alguma dúvida, fico à disposição para ajudar.

Um forte abraço.