0
respostas

09 Faça como eu fiz: trabalhando com funções e Trigger

DELIMITER $$

CREATE FUNCTION ObterResumoFinanceiro(p_reserva_id INT)
RETURNS VARCHAR(255) DETERMINISTIC
BEGIN
    DECLARE vValorOriginal DECIMAL(10,2);
    DECLARE vValorComDesconto DECIMAL(10,2);
    DECLARE vEconomia DECIMAL(10,2);
    DECLARE vResultado VARCHAR(255);

    SELECT preco_total INTO vValorOriginal 
    FROM reservas 
    WHERE reserva_id = p_reserva_id;

    SET vValorComDesconto = CalcularValorFinalComDesconto(p_reserva_id);

    SET vEconomia = vValorOriginal - vValorComDesconto;

    SET vResultado = CONCAT(
        'Reserva ', p_reserva_id, 
        ': Valor Original R$ ', FORMAT(vValorOriginal, 2), 
        ' | Valor Final R$ ', FORMAT(vValorComDesconto, 2), 
        ' (Economia de R$ ', FORMAT(vEconomia, 2), ')'
    );

    RETURN vResultado;
END $$

DELIMITER ;