MySQL存储了存储过程和函数的状态信息,可以通过以下三种方法来查询
- SHOW STATUS语句
- SHOW CREATE语句
- 直接从系统的information_schema数据库中查询
1.使用SHOW STATUS语句查看存储过程和函数的状态
SHOW {PROCEDURE|FUNCTION} STATUS [LIKE 'pattern']
这个语句是一个MySQL的扩展,它返回子程序的特征,如数据库,名字,类型,创建者以及创建和修改日期.如果没有指定样式,根据使用的语句,所有存储程序或存储函数的信息都被列出
- PROCEDURE和FUNCTIO分别表示查看存储过程和函数
- LIKE语句表示匹配存储过程或函数的名称
例子:
SHOW PROCEDURE STATUS LIKE 'C%'\G;
"SHOE PROCEDURE STATUS LIKE 'C%'\G"语句获取数据库中所有名称以字母'C'开头的存储过程的信息
.使用SHOW CREATE语句查看存储过程和函数的定义
SHOW CREATE {PROCDURE|FUNCTION} sp_name
这个语句是MySQL的扩展,类似于SHOW CREATE TABLE,它返回一个可用来重新创建已命名子程序的确切字符串
- PROCEDURE和FUNCTION分别表示查看存储过程和函数
- sp_name参数表示匹配存储过程或函数的名称
例子:
SHOW CREATE FUNCTION test.CountProc \G
执行上面的语句可以得到存储函数的名称为CountProc,sql_mode为SQL的模式,Create FUNCTION为存储函数的具体定义语句,还有数据库设置的一些信息
3.从information_schema.Routunes表中查看存储过程和函数的信息
MySQL的存储过程和函数的信息存储在information_schema数据库下的Rounines表中;可以通过查询该表的记录来查询存储过程和函数的信息
SELECT * FROM information_schema.Routines WHERE ROUTINE_NAME=' sp_name ';