Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Ejercicios producto y vendedor

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;

Imagen Workbench

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;

Imagen Workbench

1 respuesta

Hola, Christian ,

Gracias por compartir tu experiencia con nosotros. Recuerda que estamos aquí para ayudarte. Si necesitas ayuda, no dudes en buscarnos en el foro.

¡Gracias nuevamente!

Saludos,

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!