14. PARAMETERS
PARAMETERS
表提供有关存储例程(存储过程和存储函数)的参数以及存储函数的返回值的信息。 PARAMETERS表不包含内置SQL函数或用户定义函数(UDF)。 参数信息类似于mysql.proc
表中param_list
列的内容。
PARAMETERS
表有以下列:
- SPECIFIC_CATALOG :包含参数的例程所属的目录的名称。 该值始终为def。
- SPECIFIC_SCHEMA :包含参数的例程所属的schema(数据库)的名称。
- SPECIFIC_NAME :包含参数的例程的名称。
- ORDINAL_POSITION :对于存储过程或函数的连续参数,ORDINAL_POSITION值为1,2,3等。 对于存储函数,还有一行适用于函数返回值(如RETURNS子句所述)。 返回值不是true参数,因此描述它的行具有以下独特特征:
- ORDINAL_POSITION 为 0
- PARAMETER_NAME和PARAMETER_MODE值为NULL,因为返回值没有名称且模式不适用。
- 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用于存储的函数。
示例
mysql> select * from parameters LIMIT 1G
*************************** 1. row ***************************
SPECIFIC_CATALOG: def
SPECIFIC_SCHEMA: sys
SPECIFIC_NAME: create_synonym_db
ORDINAL_POSITION: 1
PARAMETER_MODE: IN
PARAMETER_NAME: in_db_name
DATA_TYPE: varchar
CHARACTER_MAXIMUM_LENGTH: 64
CHARACTER_OCTET_LENGTH: 192
NUMERIC_PRECISION: NULL
NUMERIC_SCALE: NULL
DATETIME_PRECISION: NULL
CHARACTER_SET_NAME: utf8
COLLATION_NAME: utf8_general_ci
DTD_IDENTIFIER: varchar(64)
ROUTINE_TYPE: PROCEDURE
1 row in set (0.00 sec)