Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como listar parâmetros de procedimento armazenado mysql


Versões mais recentes do MySQL (5.5.3 e superior ) introduziu o objeto information_schema.parameters que deve fornecer as informações que você precisa;
SELECT * 
FROM information_schema.parameters 
WHERE SPECIFIC_NAME = 'your_procedure';

Versões anteriores do MySql contam com acesso à tabela mysql.proc; a coluna 'param_list' contém todas as informações de parâmetro para o procedimento com o nome em que você está interessado. As informações são decididamente não normalizadas, pois são armazenadas como strings separadas por vírgulas:
SELECT param_list FROM mysql.proc WHERE db='your_database' AND name='your_procedure';

Dá:
IN param1 VARCHAR(32), IN param2 int, ... 

Isso requer um pouco mais de trabalho para colocar em um formato de apresentação; embora uma função string.split pelo menos a arrumasse.