Desafio: Como pessoa desenvolvedora, você precisa criar uma função no MySQL que receba como parâmetro um tipo de hospedagem (por exemplo, 'Casa', 'Apartamento', 'Hotel') e retorne o total de hospedagens disponíveis desse tipo. Esta função ajudará a equipe a entender rapidamente a distribuição das acomodações na plataforma.
DELIMITER $$
CREATE FUNCTION HospedagensDisponiveis (TipoHospedagem TEXT) ### Cria a função e determina que uma string deve ser inserido para a realizar busca.
RETURNS VARCHAR (255) DETERMINISTIC
BEGIN
DECLARE TotalHospedagens INT; ### Declaração da variável que vai receber a contagem de hospedagens.
DECLARE Resultado VARCHAR (255); ### Declaração da variável que vai receber a string final constando os resultados obtidos.
SELECT COUNT(hospedagem_id) INTO TotalHospedagens ### Faz a contagem total de todos os IDs das hospedagens onde os filtros foram aplicados.
FROM hospedagens ### TipoHospedagem recebe o valor atribuido ao chamar a função.
WHERE tipo = TipoHospedagem and Ativo = 1; ### Ativo = 1 indica que apenas as hospedagens ativas devem ser contadas.
SET Resultado = CONCAT('Existem ', TotalHospedagens, ' hospedagens do tipo ', TipoHospedagem, ' disponíveis.'); ### Faz a concatenação das strings para exibir uma frase como resultado da consulta.
RETURN Resultado; ### Retorna a frase final.
END$$
DELIMITER ;
Minha resposta ficou um pouco diferente da resolução do instrutor... Pelo que notei, a resolução proposta conta o total geral de hospedagens cadastradas, não levando em cosideração se estão ativas ou não. No meu entender a hospedagem só estará disponível enquanto estiver ativa, por isso apliquei esse filtro... Ta correto ou eu viajei?