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

Cómo enumerar los parámetros del procedimiento almacenado mysql

Versiones más recientes de MySQL (5.5.3 y superiores ) introdujo el objeto information_schema.parameters que debería brindarle la información que necesita;

SELECT * 
FROM information_schema.parameters 
WHERE SPECIFIC_NAME = 'your_procedure';

Las versiones anteriores de MySql se basan en tener acceso a la tabla mysql.proc; la columna 'param_list' tiene toda la información de parámetros para el procedimiento con el nombre que le interesa. Sin embargo, la información definitivamente no está normalizada, ya que se almacena como una cadena separada por comas:

SELECT param_list FROM mysql.proc WHERE db='your_database' AND name='your_procedure';

Da:

IN param1 VARCHAR(32), IN param2 int, ... 

Esto requiere un poco más de trabajo para ponerlo en un formato de presentación; aunque una función string.split al menos lo arreglaría.