在mysql.proc表中,主要包含以下字段:
Field | Type | Null | Key | Default | Extra | -------------------------------------------------------------- db | char(64) | NO | PRI | | | name | char(64) | NO | PRI | | | type | enum(...) | NO | PRI | | | specific_name | char(64) | NO | | | | language | enum(...) | NO | | SQL | | ...
其中,db、name和type三个字段联合构成了主键。对于存储过程和函数的元数据信息,包括了存储过程/函数所在的数据库名和名称(db, name),以及它们是存储过程还是函数(type)等信息。
通过mysql.proc表,大家可以方便地查询指定存储过程/函数的元数据信息,以及对存储过程/函数进行管理和修改等操作。
-- 查询所有存储过程/函数 SELECT * FROM mysql.proc WHERE db = 'database_name'; -- 修改存储过程/函数定义 UPDATE mysql.proc SET body = 'New definition' WHERE db = 'database_name' AND name = 'procedure_name' AND type = 'PROCEDURE';
需要注意的是,mysql.proc表的操作权限需要有特殊的授权才能够进行修改和删除等操作,一般情况下只能查询。