-- desafio
DELIMITER $$
CREATE FUNCTION CalcularOcupacaoMedia() RETURNS DECIMAL(5,2)
DETERMINISTIC
BEGIN
DECLARE totalHospedagens INT;
DECLARE totalOcupadas INT;
DECLARE ocupacaoMedia DECIMAL(5,2);
-- Calcula o número total de hospedagens listadas
SELECT COUNT(*) INTO totalHospedagens FROM hospedagens;
-- Calcula o número total de hospedagens ocupadas
SELECT COUNT(*) INTO totalOcupadas FROM reservas;
-- Calcula a ocupação média como um percentual
SET ocupacaoMedia = (totalOcupadas / totalHospedagens) * 100;
RETURN ocupacaoMedia;
END$$
DELIMITER ;
SELECT CalcularOcupacaoMedia();