Получение имен параметров путем указания имени процедуры - MySQL

mysql

32 просмотра

1 ответ

Есть ли способ получить имена параметров хранимой процедуры в базе данных, указав имя процедуры и имя базы данных в MySQL?

Автор: Kavya Источник Размещён: 08.11.2019 10:56

Ответы (1)


1 плюс

Решение

Ранее я дал решение с помощью mysql.proc. @ Michael-sqlbot отметил, что было бы гораздо лучше использовать information_schema.parameters. Это пересмотренное решение следует этому предложению.

Выполните эти запросы, чтобы описать и проиллюстрировать данные в information_schema.parameters:

EXPLAIN information_schema.parameters;
SELECT * FROM information_schema.parameters;

Это пересмотренное решение:

SELECT parameter_name 
  FROM information_schema.parameters
 WHERE specific_schema = 'my_db'
   AND specific_name = 'my_procedure'
 ORDER BY ordinal_position
;

parameter_name
-----------------
p_first_param
p_second_param
p_third_param

Если они вам нужны в одной строке, GROUP_CONCATможно использовать для указания имен через запятую:

SELECT GROUP_CONCAT(parameter_name) params 
  FROM information_schema.parameters
 WHERE specific_schema = 'my_db'
   AND specific_name = 'my_procedure'
 ORDER BY ordinal_position
;

params
------------------------------------------
p_first_param,p_second_param,p_third_param
Автор: Zach Victor Размещён: 20.08.2016 05:50
Вопросы из категории :
32x32