如何在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';