14. PARAMETERS

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)
原文地址:https://www.cnblogs.com/wanbin/p/9514636.html