首批通过分布式安全可靠测评,为关键业务系统打造
mysql.proc
更新时间:2026-07-15 20:42:47
说明
该视图从 V2.2.77 版本开始引入。
功能描述
用于展示存储过程的信息。
字段说明
| 字段名称 | 类型 | 是否可以为 NULL | 描述 |
|---|---|---|---|
| db | varchar(128) | NO | 数据库名 |
| name | varchar(128) | NO | 存储过程的名称 |
| type | varchar(10) | NO | 存储过程的类型:
|
| specific_name | varchar(128) | NO | 同name字段 |
| language | varchar(4) | NO | 未使用,当前为固定值SQL |
| sql_data_access | varchar(32) | NO | 未使用,当前为固定值CONTAINS_SQL |
| is_deterministic | varchar(4) | NO | 未使用,标识存储过程是否使DETERMINISTIC 特性定义:
|
| security_type | varchar(10) | NO | 未使用,标识 SQL 的访问属性:
|
| param_list | longblob | NO | 存储过程的参数列表信息 |
| returns | longblob | NO | 存储过程的返回值信息 |
| body | longblob | NO | 存储过程定义的文本信息 |
| definer | varchar(77) | NO | 创建存储过程的用户 |
| created | timestamp(6) | NO | 创建存储过程的日期和时间 |
| modified | timestamp(6) | NO | 存储过程的最后修改日期和时间 |
| sql_mode | text | NO | 创建或更改存储过程时有效的 SQL 模式,在该模式下执行存储过程 |
| comment | varchar(4096) | NO | 注释文本 |
| character_set_client | varchar(128) | NO | 创建或更改存储过程时 character_set_client 系统变量的会话值 |
| collation_connection | varchar(128) | NO | 创建或更改存储过程时 collation_connection 系统变量的会话值 |
| collation_database | varchar(128) | NO | 创建或更改存储过程时 collation_database 系统变量的会话值 |
| body_utf8 | longblob | NO | 过程定义,与 body 字段相同 |
查询示例
查看存储过程 my_proc 的详细信息。
obclient [infotest]> SELECT * FROM mysql.proc WHERE NAME='my_proc'\G
查询结果如下:
*************************** 1. row ***************************
DB: infotest
NAME: my_proc
TYPE: PROCEDURE
SPECIFIC_NAME: my_proc
LANGUAGE: SQL
SQL_DATA_ACCESS: READS_SQL_DATA
IS_DETERMINISTIC: NO
SECURITY_TYPE: DEFINER
PARAM_LIST: IN emp_no INT,OUT emp_count INT
RETURNS:
BODY: BEGIN
SELECT COUNT(*) INTO emp_count FROM emp WHERE empno=emp_no;
END
DEFINER: 'root'@'%'
CREATED: 2025-01-24 14:00:18.496744
MODIFIED: 2025-01-24 14:00:18.496744
SQL_MODE: STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_AUTO_CREATE_USER
COMMENT:
CHARACTER_SET_CLIENT: utf8mb4
COLLATION_CONNECTION: utf8mb4_general_ci
DB_COLLATION: utf8mb4_general_ci
BODY_UTF8: BEGIN
SELECT COUNT(*) INTO emp_count FROM emp WHERE empno=emp_no;
END
1 row in set