Saltar al contenido

Devolver una Fila Aleatoria de una Tabla

Aquí hay una guía rápida que le permite devolver una fila aleatoria de cualquier tabla, lo que puede ser útil para el muestreo en las pruebas:

  1. En la capa de lógica empresarial, cree un objeto empresarial que genere números de fila sobre las claves principales de la tabla deseada.

    • Por ejemplo: Cliente (Generar número de fila) es un objeto que selecciona la tabla PK y tiene un valor de Expresión que genera el número de fila con este tipo de sintaxis:

      ${ROW_NUMBER() OVER(ORDER BY C.CustomerID)}

  2. Cree otro objeto comercial que seleccione el número máximo de fila utilizando los resultados del paso 1.

    • Por ejemplo: Cliente (Número máximo de fila) es un objeto que utiliza el objeto del paso 1 y tiene un valor de Expresión que proporciona el valor del Número máximo de fila con este tipo de sintaxis:

      MAX(CGRN.RowNum)

  3. Cree un nuevo objeto de negocio que combine los objetos creados en los pasos 1 y 2, y luego use la función ALEATORIO() para generar un número desde 1 hasta ese número máximo, y filtre dónde el número aleatorio generado = número de fila. Unión cruzada en los dos objetos utilizados en esta regla.

    • Por ejemplo: Esta Regla tiene definidas las siguientes Columnas:

      • ROW.CustomerID
      • MAX.MaxRowNum
      • ${FLOOR(RAND() * (MAX.MaxRowNum + 1))