1
resposta

[Projeto] Mão na massa: desvendando as preferências dos hóspede

DELIMITER $$
CREATE FUNCTION HospedagensPorTipo(TipoHospedagem VARCHAR (50))
RETURNS INT
DETERMINISTIC
BEGIN
    DECLARE TotalporTipo INT;
        SELECT COUNT(hospedagem_id)
        INTO TotalporTipo
        FROM hospedagens
        WHERE tipo = TipoHospedagem;
        RETURN TotalporTipo;
END$$
DELIMITER ;

SELECT HospedagensPorTipo('Casa');
1 resposta

Oi, Amanda! Como vai?

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

Dá para notar que você entendeu bem como usar DECLARE, SELECT ... INTO e RETURN dentro de funções no MySQL para gerar resultados dinamicos a partir de um valor informado.

Uma dica interessante para o futuro é utilizar a funcao UPPER() para evitar problemas quando o texto for digitado com letras maiusculas ou minusculas diferentes. Veja este exemplo:


SELECT COUNT(hospedagem_id)
INTO total_por_tipo
FROM hospedagens
WHERE UPPER(tipo) = UPPER(tipo_hospedagem);

Esse codigo usa UPPER() para transformar os textos em letras maiusculas antes da comparacao, garantindo que valores como Casa, casa ou CASA sejam tratados da mesma forma na busca.

Para saber mais:

Sugestão de conteúdo:

DOCUMENTAÇÃO
UPPER
Alura

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