如何在mysql命令行中看到存储过程或存储函数的列表,如show tables;或显示数据库;命令。
当前回答
对所有过程使用以下查询:
select * from sysobjects
where type='p'
order by crdate desc
其他回答
显示所有存储过程:
SHOW PROCEDURE STATUS;
显示所有函数:
SHOW FUNCTION STATUS;
显示指定过程的定义:
SHOW CREATE PROCEDURE [PROC_NAME];
显示给定数据库的所有程序:
SHOW PROCEDURE STATUS WHERE Db = '[db_name]';
SELECT specific_name FROM `information_schema`.`ROUTINES` WHERE routine_schema='database_name'
用这个:
SHOW PROCEDURE STATUS;
从MySQL 8.0开始,MySQL。Procs表已被删除。从这里的答案中运行任何使用这个表的命令都会产生一个错误,它说(相当有逻辑):
Table 'mysql.proc' doesn't exist
相反,要检索只有过程/函数名的列表,请使用:
SELECT specific_name FROM `information_schema`.`ROUTINES` WHERE routine_schema='<your_db_name>';
在我的例子中,我编辑了它,只显示过程而不显示函数:
SELECT specific_name FROM `information_schema`.`ROUTINES` WHERE routine_schema='<your_db_name>' AND routine_type='PROCEDURE';
对所有过程使用以下查询:
select * from sysobjects
where type='p'
order by crdate desc