sql >> Databasteknik >  >> RDS >> Mysql

Hur man listar mysql lagrade procedurparametrar

Nyare versioner av MySQL (5.5.3 och högre a> ) introducerade information_schema.parameters-objektet som ska ge dig den information du behöver;

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

Tidigare versioner av MySql förlitar sig på att ha tillgång till tabellen mysql.proc; kolumnen 'param_list' har all parameterinformation där för proceduren med det namn du är intresserad av. Informationen är dock definitivt icke-normaliserad, eftersom den lagras som kommaseparerad sträng:

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

Ger:

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

Detta kräver lite mer arbete att lägga i ett format för presentation; även om en string.split-funktion åtminstone skulle städa upp det.



  1. Hur skapar och använder man en temporär tabell i oracles lagrade procedur?

  2. MySQL Alter lagrad procedur

  3. Hur make_timestamp() fungerar i PostgreSQL

  4. MySQL kontra MariaDB