CREATE DEFINER=`root`@`localhost` FUNCTION `f_producto_aleatorio`() RETURNS varchar(50) CHARSET utf8mb4
BEGIN
DECLARE vresultado VARCHAR(50);
DECLARE vmax INT;
DECLARE valeatorio INT;
SELECT COUNT(*) INTO vmax FROM productos;
IF vmax = 0 THEN
RETURN "Recalculando";
END IF;
-- Generar un número aleatorio entre 0 y vmax-1
SET valeatorio = f_aleatorio(0, vmax - 1);
-- Seleccionar el DNI del producto aleatoriamente seleccionado
SELECT CONCAT(CODIGO, ', ', DESCRIPCION, ', ', SABOR) INTO vresultado FROM productos LIMIT valeatorio, 1;
-- Verificar si se obtuvo un resultado
IF vresultado IS NULL THEN
RETURN "Recalculando";
END IF;
RETURN vresultado;
END
SELECT f_producto_aleatorio() AS codigo_descripcion_sabor;
CREATE DEFINER=`root`@`localhost` FUNCTION `f_vendedor_aleatorio`() RETURNS varchar(100) CHARSET utf8mb4
BEGIN
DECLARE vresultado VARCHAR(100);
DECLARE vmax INT;
DECLARE valeatorio INT;
SELECT COUNT(*) INTO vmax FROM vendedores;
IF vmax = 0 THEN
RETURN "Pensando";
END IF;
-- Generar un número aleatorio entre 0 y vmax-1
SET valeatorio = f_aleatorio(0, vmax - 1);
-- Seleccionar CODIGO, DESCRIPCION y SABOR del vendedor aleatoriamente seleccionado
SELECT CONCAT(MATRICULA, ', ', NOMBRE, ', ', FORMAT(COMISION,2)) INTO vresultado
FROM vendedores LIMIT valeatorio, 1;
-- Verificar si se obtuvo un resultado
IF vresultado IS NULL THEN
RETURN "Pensando";
END IF;
RETURN vresultado;
END
SELECT f_vendedor_aleatorio() AS codigo_nombre_comision;