CREATE DEFINER=root
@localhost
PROCEDURE comparacion_ventas
(fecha1 DATE, fecha2 DATE)
BEGIN
/*
Construye un Stored Procedure llamado comparacion_ventas que compare las ventas en dos
fechas distintas (Estas fechas serán los parámetros de la SP). Si la variación porcentual de
estas ventas es mayor al 10% la respuesta debe ser ‘Verde’. Si está entre -10% y 10% debe retornar
‘Amarillo’. Si la variación es menor al -10% debe retornar ‘Rojo’.*/
DECLARE resultado_venta_fecha1 DECIMAL(10,2);
DECLARE resultado_venta_fecha2 DECIMAL(10,2);
DECLARE variacion_porcentual DECIMAL(10,2);
DECLARE resultado_semaforo_variacion VARCHAR(15);
-- Obtener las ventas de cada fecha usando tu función
SET resultado_venta_fecha1 = facturacion_fecha_determinada(fecha1);
SET resultado_venta_fecha2 = facturacion_fecha_determinada(fecha2);
-- Evita división por cero si no hay ventas en fecha1
IF resultado_venta_fecha1 > 0 THEN
SET variacion_porcentual = ((resultado_venta_fecha2 - resultado_venta_fecha1) / resultado_venta_fecha1) * 100;
ELSE
SET variacion_porcentual = NULL;
END IF;
-- Determinar el color del semáforo
IF variacion_porcentual > 10 THEN
SET resultado_semaforo_variacion = 'Verde';
ELSEIF variacion_porcentual >= -10 AND variacion_porcentual <= 10 THEN
SET resultado_semaforo_variacion = 'Amarillo';
ELSE
SET resultado_semaforo_variacion = 'Rojo';
END IF;
-- Mostrar resultado de forma clara y compacta
SELECT
fecha1 AS Fecha_1,
resultado_venta_fecha1 AS Venta_Fecha1,
fecha2 AS Fecha_2,
resultado_venta_fecha2 AS Venta_Fecha2,
variacion_porcentual AS Variacion_Porcentual,
resultado_semaforo_variacion AS Semaforo;
END