是否可以通过在MySQL中提供过程名称和数据库名称来获取数据库中存储过程的参数名称?
发布于 2016-08-20 05:50:34
之前,我给出了一个使用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_paramhttps://stackoverflow.com/questions/39050863
复制相似问题