跳到主要内容

INFORMATION_SCHEMA PARAMETERS

INFORMATION_SCHEMA PARAMETERS 字典视图提供了有关存储例程(存储过程和存储函数)的参数以及有关存储函数返回值的信息,但不包括内置(本地)函数或可加载函数。

INFORMATION_SCHEMA PARAMETERS 字典视图所包含的字段如下表所示。

字段名称描述
SPECIFIC_CATALOG包含参数的例程所属目录的名称。此值始终为 def
SPECIFIC_SCHEMA包含参数的例程所属的 Schema(数据库)的名称。
SPECIFIC_NAME包含参数的例程的名称。
ORDINAL_POSITION记录存储过程或函数的参数位置,ORDINAL_POSITION 的值为 1、2、3 等。 对于存储的函数,还需要有一行应用于函数返回值。描述返回值的行具有以下特征:
  • ORDINAL_POSITION 的值为 0。
  • PARAMETER_NAMEPARAMETER_MODE 值为 NULL
PARAMETER_MODE参数的模式。此值可以是 INOUTINOUT。对于存储函数返回值,该值为 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