INFORMATION_SCHEMA PARAMETERS
INFORMATION_SCHEMA PARAMETERS 字典视图提供了有关存储例程(存储过程和存储函数)的参数以及有关存储函数返回值的信息,但不包括内置(本地)函数或可加载函数。
INFORMATION_SCHEMA PARAMETERS 字典视图所包含的字段如下表所示。
| 字段名称 | 描述 |
|---|---|
| SPECIFIC_CATALOG | 包含参数的例程所属目录的名称。此值始终为 def。 |
| SPECIFIC_SCHEMA | 包含参数的例程所属的 Schema(数据库)的名称。 |
| SPECIFIC_NAME | 包含参数的例程的名称。 |
| ORDINAL_POSITION | 记录存储过程或函数的参数位置,ORDINAL_POSITION 的值为 1、2、3 等。 对于存储的函数,还需要有一行应用于函数返回值。描述返回值的行具有以下特征:
|
| PARAMETER_MODE | 参数的模式。此值可以是 IN、OUT 或 INOUT。对于存储函数返回值,该值为 NULL。 |
| PARAMETER_NAME | 参数的名称。对于存储的函数返回值,该值为 NULL。 |
| DATA_TYPE | 参数的数据类型。DATA_TYPE 值仅为类型名称,不包含其他信息。DTD_IDENTIFIER 值包含数据类型名称以及其他信息,例如精度或长度。 |
| CHARACTER_MAXIMUM_LENGTH | 字符串类型的参数的最大长度(以字符为单位)。 |
| CHARACTER_OCTET_LENGTH | 字符串类型的参数的最大长度(以字节为单位)。 |
| NUMERIC_PRECISION | 数值类型的参数的数值精度。 |
| NUMERIC_SCALE | 数值类型的参数的数值范围。 |
| DATETIME_PRECISION | 日期类型的参数的日期精 度。 |
| CHARACTER_SET_NAME | 字符串类型的参数的字符集名称。 |
| COLLATION_NAME | 字符串类型的参数的字符排序规则。 |
| DTD_IDENTIFIER | 记录数据类型的详细信息。DATA_TYPE 值仅为类型名称,不包含其他信息。DTD_IDENTIFIER 值包含类型名称以及其他信息,例如精度或长度。 |
| ROUTINE_TYPE | 存储例程的类型。存储过程为 PROCEDURE,存储函数为 FUNCTION。 |
示例如下:
SELECT * FROM INFORMATION_SCHEMA.PARAMETERS
WHERE SPECIFIC_SCHEMA='test' AND PARAMETER_NAME='c1'\G
*************************** 1. row ***************************
SPECIFIC_CATALOG: def
SPECIFIC_SCHEMA: test
SPECIFIC_NAME: my_func
ORDINAL_POSITION: 1
PARAMETER_MODE: IN
PARAMETER_NAME: c1
DATA_TYPE: char
CHARACTER_MAXIMUM_LENGTH: 20
CHARACTER_OCTET_LENGTH: 80
NUMERIC_PRECISION: NULL
NUMERIC_SCALE: NULL
DATETIME_PRECISION: NULL
CHARACTER_SET_NAME: utf8mb4
COLLATION_NAME: utf8mb4_general_ci
DTD_IDENTIFIER: char(20)
ROUTINE_TYPE: FUNCTION