sql >> Base de Datos >  >> RDS >> Mysql

¿Hay algún tipo de datos de lista en los procedimientos almacenados de MySQL o una forma de emularlos?

Esto El artículo tiene una buena discusión sobre el problema de analizar una matriz en un procedimiento almacenado, ya que los procedimientos almacenados solo permiten tipos de datos de columna de tabla válidos como parámetros.

Hay algunas cosas interesantes que puede hacer con el csv tipo de tabla en mysql, es decir, si está cargando un archivo plano en la base de datos.

Puede crear una tabla temporal en el procedimiento almacenado, iterar sobre la lista csv e insertarla en la tabla temporal, luego crear un cursor que seleccione los valores de esa tabla. Esta respuesta en el hilo mencionado anteriormente muestra una forma de hacer esto.

En general, dividiría la matriz antes de llegar a la base de datos y luego realizaría la consulta individualmente en cada elemento.