1
resposta

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 ;
1 resposta

Oi, John! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Gostei da forma como você estruturou sua função ObterResumoFinanceiro, separando bem as variáveis e utilizando o SELECT ... INTO para capturar os valores. A construção do resultado com CONCAT e FORMAT também ficou clara e organizada, facilitando a leitura do retorno final.

Continue assim!

Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!