List of Stored Procedures/Functions Mysql Command Line
如何在mysql命令行中查看存储过程或存储函数的列表,如
将显示存储过程。
将向您展示程序的定义。和
将显示
以名义方式查看过程
下面用于列出所有过程的代码,下面的代码与show procedure status给出相同的结果
更具体的方式:
正如刚才提到的,
确实会显示一个程序列表,但在服务器范围内显示所有这些程序。
如果您只想查看单个数据库中的那些,请尝试以下方法:
替代方案:
我的偏好是:
从这个帖子中的其他答案拼凑而成,我最终得到了
...最终得到的结果如下:
1 2 3 4 5 6 7 8 9 10 | mysql> select name, type from mysql.proc where db = database() order by type, name; +------------------------------+-----------+ | name | type | +------------------------------+-----------+ | get_oldest_to_scan | FUNCTION | | get_language_prevalence | PROCEDURE | | get_top_repos_by_user | PROCEDURE | | get_user_language_prevalence | PROCEDURE | +------------------------------+-----------+ 4 rows in set (0.30 sec) |
用这个:
Praveenkumar_V帖子的变体:
1 2 |
..这是因为我需要在一些家务后节省时间:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | SELECT CONCAT( "GRANT EXECUTE ON PROCEDURE `" ,`name` ,"` TO username@'%'; --" ,`comment` ) FROM mysql.proc WHERE db = 'dbname' AND `type` = 'PROCEDURE'; SELECT CONCAT( "GRANT EXECUTE ON FUNCTION `" ,`name` ,"` TO username@'%'; --" ,`comment` ) FROM mysql.proc WHERE db = 'dbname' AND `type` = 'FUNCTION'; |
只显示你的:
1 2 3 4 5 6 7 |
显示所有存储过程:
显示所有功能:
显示指定过程的定义:
显示给定数据库的所有过程:
如果要列出当前所选数据库的存储过程,
它将根据当前选定的数据库列出例程
更新
列出数据库中的函数
1 |
列出数据库中的例程/存储过程,
1 |
列出数据库中的表,
1 |
列出数据库中的视图,
方法1:
1 |
方法2:
使用此命令可以查看数据库中的所有过程
MySQL8
列出所有数据库的用户程序和功能:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
列出用户正在使用的数据库的过程和函数:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | SELECT `ROUTINE_SCHEMA` AS `database` ,`ROUTINE_TYPE` AS `type` ,`SPECIFIC_NAME` AS `name` ,`DTD_IDENTIFIER` AS `data_type` FROM `INFORMATION_SCHEMA`.`ROUTINES` WHERE `definer` LIKE CONCAT('%', CONCAT((SUBSTRING_INDEX((SELECT user()), '@', 1)), '%')) AND `ROUTINE_SCHEMA` = DATABASE() ORDER BY `type` ,`name` ; |
对所有过程使用以下查询: