MysqL存储了,存储过程的状态信息 可以使用SHOW STATUS语句,或SHOW CREATE语句来查看,也可以直接从系统的information_schema数据库中查询
<h3 id="show-status语句">SHOW STATUS语句
SHOW STATUS语句,查看存储过程的状态
<h3 id="语法格式">语法格式
SHOW {PROCEDURE | FUNCTION} STATUS [LIKE ‘pattern’]
<h3 id="参数说明">参数说明
PROCEDURE和FUNCTION,分别表示查看存储过程和函数 LIKE语句,表示匹配的名称
这个语句是一个MysqL扩展,返回子程序的特征,比如,数据库、名字、类型、创建者以创建、修改日期 如果,没有指定样式,根据使用的语句,所有存储程序或存储函数的信息都被列出
SHOW PROCEDURE STATUS LIKE’C%’ \G
图片描述" title="">
该语句,获取数据库中所有名称,以C开头的存储过程的信息 可以看出,存储过程所在的数据库为chapter06,存储过程的名称为CountProc1等信息
<h3 id="show-create语句">SHOW CREATE语句
SHOW CREATE语句,查看存储过程的状态 除了SHOW STATES语句外,MysqL中,还可以使用SHOW CREATE语句查看存储过程的状态
<h3 id="语法格式-1">语法格式
SHOW CREATE {PROCEDURE | FUNCTION} sp_name 这个语句,也是一个MysqL的扩展 类似于SHOW CREATE TABLE,返回一个可用来重新创建,已命名子程序的确切字符串
SHOW CREATE语句
图片描述" title="">
<h3 id="informationschemaroutines表">information_schema.Routines表
从information_schema.Routines表中,查看存储过程的信息 MysqL中,存储过程和函数的信息,存储在information_schema数据库下的Routines表中
SELECT * FROM information_schema,Routines WHERE ROUTINE_NAME=’CountProc1’ AND ROUTINE_TYPE=’PROCEDURE’ \G
图片描述" title="">
注意 在information_schema数据库下的Routines表中,存储所有存储过程的定义 使用SELECT语句,查询Routine表中的存储过程的定义时,一定要使用ROUTINE_NAME字段,指定存储过程的名称,否则,将查询出所有存储过程的定义
原文链接:https://www.f2er.com/mysql/62439.html