Mysql
 sql >> Database >  >> RDS >> Mysql

Come elencare i parametri della stored procedure MySQL

Versioni più recenti di MySQL (5.5.3 e versioni successive ) ha introdotto l'oggetto information_schema.parameters che dovrebbe darti le informazioni di cui hai bisogno;

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

Le versioni precedenti di MySql si basano sull'accesso alla tabella mysql.proc; la colonna 'param_list' contiene tutte le informazioni sui parametri per la procedura con il nome che ti interessa. L'informazione è però decisamente non normalizzata, in quanto memorizzata come stringa separata da virgole:

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

Dà:

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

Ciò richiede un po' di lavoro in più da inserire in un formato per la presentazione; anche se una funzione string.split almeno lo metterebbe in ordine.