sql >> Database >  >> RDS >> Mysql

Hoe mysql opgeslagen procedureparameters weer te geven

Recentere versies van MySQL (5.5.3 en hoger ) introduceerde het information_schema.parameters object dat u de informatie zou moeten geven die u nodig heeft;

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

Eerdere versies van MySql zijn afhankelijk van toegang tot de tabel mysql.proc; de kolom 'param_list' bevat alle parameterinformatie voor de procedure met de naam waarin u geïnteresseerd bent. De informatie is echter beslist niet-genormaliseerd, aangezien deze wordt opgeslagen als een door komma's gescheiden tekenreeks:

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

Geeft:

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

Dit vereist wat meer werk om in een presentatieformaat te komen; hoewel een string.split-functie het op zijn minst zou opruimen.



  1. SQL-datumnotatie

  2. Arabisch opslaan in SQL-database

  3. Hoe het jaar uit een Datetime-kolom in MySQL te halen

  4. Mag je getallen als tabelnamen gebruiken in MySQL?