存储过程/函数列表Mysql命令行

喜欢而已 提交于 2020-02-28 00:59:26

如何在mysql命令行(如show tables;查看存储过程或存储函数的列表show tables;show databases; 命令。


#1楼

以名称方式查看程序

select name from mysql.proc 

下面的代码用于列出所有过程,下面的代码给出与显示过程状态相同的结果

select * from mysql.proc 

#2楼

要只显示您的:

SELECT
  db, type, specific_name, param_list, returns
FROM
  mysql.proc
WHERE
  definer LIKE
  CONCAT('%', CONCAT((SUBSTRING_INDEX((SELECT user()), '@', 1)), '%'));

#3楼

选择:

SELECT * FROM INFORMATION_SCHEMA.ROUTINES

#4楼

                           show procedure status;

使用此命令,您可以查看数据库中的所有过程


#5楼

Praveenkumar_V的帖子的一个变体:

SELECT `name` FROM mysql.proc WHERE db = 'dbname' AND `type` = 'PROCEDURE';
SELECT `name` FROM mysql.proc WHERE db = 'dbname' AND `type` = 'FUNCTION';

..这是因为在整理后我需要节省时间:

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';
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!