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

Sådan listes parametre for mysql lagrede procedurer

Nyere versioner af MySQL (5.5.3 og nyere a> ) introducerede information_schema.parameters-objektet, som skulle give dig de oplysninger, du har brug for;

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

Tidligere versioner af MySql er afhængige af at have adgang til mysql.proc-tabellen; kolonnen 'param_list' har alle parameteroplysningerne for proceduren med det navn, du er interesseret i. Informationen er dog bestemt ikke-normaliseret, da den er gemt som kommasepareret streng:

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

Giver:

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

Dette kræver noget mere arbejde at lægge i et format til præsentation; selvom en string.split-funktion i det mindste ville rydde op.



  1. Få styr på native Oracle Connection i Hibernate 4 for at køre en lagret proc

  2. 3 funktioner, der henter dagen, måneden og året fra en dato i PostgreSQL

  3. To Laravel-applikationer på den samme server, der er i konflikt med hinanden

  4. Hvordan sletter man rækker fra join-table (ManyToMany) i Doctrine?