如何在mysql命令行中看到存储过程或存储函数的列表,如show tables;或显示数据库;命令。
当前回答
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';
其他回答
show procedure status
将显示存储过程。
show create procedure MY_PROC
将向你展示一个过程的定义。和
help show
将显示show命令的所有可用选项。
用这个:
SHOW PROCEDURE STATUS;
show procedure status;
使用此命令可以查看数据库中的所有过程
SHOW PROCEDURE STATUS;
SHOW FUNCTION STATUS;
对所有过程使用以下查询:
select * from sysobjects
where type='p'
order by crdate desc