Desafio: Como pessoa desenvolvedora da equipe, você recebeu a responsabilidade de criar uma função no MySQL para determinar a ocupação média das hospedagens. A função deve calcular a média de hospedagens ocupadas em relação ao total de hospedagens listadas. Para simplificar, assuma que cada registro na tabela de alugueis representa uma ocupação e que o total de registros na tabela de hospedagens representa o número total de hospedagens disponíveis.
DELIMITER $$
CREATE FUNCTION MediaHospedagensOcupadas()
RETURNS DECIMAL (5,2) DETERMINISTIC
BEGIN
DECLARE total_hospedagens INT;
DECLARE hospedagens_ocupadas INT;
DECLARE ocupacao_media DECIMAL(5,2);
-- Calcula o total de hospedagens disponíveis
SELECT COUNT(*) INTO total_hospedagens FROM hospedagens;
-- Calcula o total de hospedagens ocupadas
SELECT COUNT(DISTINCT hospedagem_id) INTO hospedagens_ocupadas FROM alugueis;
-- Calcula a ocupação média
SET ocupacao_media = (hospedagens_ocupadas / total_hospedagens) * 100;
RETURN ocupacao_media;
END$$
DELIMITER ;
SELECT MediaHospedagensOcupadas();