Documentation Home
MySQL 8.0 参考手册  / 第 26 章 INFORMATION_SCHEMA 表  / 26.3 INFORMATION_SCHEMA 总表  /  24.3.21 INFORMATION_SCHEMA ROUTINES 表

24.3.21 INFORMATION_SCHEMA ROUTINES 表

ROUTINES表提供有关存储例程(存储过程和存储函数)的信息。该ROUTINES表不包括内置(本机)函数或可加载函数。

名为mysql.procName的列 表示与表列(如果有)mysql.proc对应的INFORMATION_SCHEMA ROUTINES表列。

ROUTINES表有以下列:

  • SPECIFIC_NAME

    例程的名称。

  • ROUTINE_CATALOG

    例程所属目录的名称。该值始终为def.

  • ROUTINE_SCHEMA

    例程所属的模式(数据库)的名称。

  • ROUTINE_NAME

    例程的名称。

  • ROUTINE_TYPE

    PROCEDURE对于存储过程, FUNCTION对于存储函数。

  • DATA_TYPE

    如果例程是存储函数,返回值数据类型。如果例程是存储过程,则此值为空。

    DATA_TYPE值只是类型名称,没有其他信息。该 DTD_IDENTIFIER值包含类型名称和可能的其他信息,例如精度或长度。

  • CHARACTER_MAXIMUM_LENGTH

    对于存储的函数字符串返回值,最大字符长度。如果例程是存储过程,则此值为NULL.

  • CHARACTER_OCTET_LENGTH

    对于存储的函数字符串返回值,以字节为单位的最大长度。如果例程是存储过程,则此值为 NULL.

  • NUMERIC_PRECISION

    对于存储函数数字返回值,数字精度。如果例程是存储过程,则此值为 NULL.

  • NUMERIC_SCALE

    对于存储的函数数字返回值,数字比例。如果例程是存储过程,则此值为 NULL.

  • DATETIME_PRECISION

    对于存储函数时间返回值,小数秒精度。如果例程是存储过程,则此值为NULL.

  • CHARACTER_SET_NAME

    对于存储的函数字符串返回值,字符集名称。如果例程是存储过程,则此值为NULL.

  • COLLATION_NAME

    对于存储的函数字符串返回值,排序规则名称。如果例程是存储过程,则此值为NULL.

  • DTD_IDENTIFIER

    如果例程是存储函数,返回值数据类型。如果例程是存储过程,则此值为空。

    DATA_TYPE值只是类型名称,没有其他信息。该 DTD_IDENTIFIER值包含类型名称和可能的其他信息,例如精度或长度。

  • ROUTINE_BODY

    用于例程定义的语言。该值始终为SQL.

  • ROUTINE_DEFINITION

    例程执行的 SQL 语句的文本。

  • EXTERNAL_NAME

    该值始终为NULL.

  • EXTERNAL_LANGUAGE

    存储例程的语言。MySQL 是 EXTERNAL_LANGUAGE这样计算的:

    • 如果是 mysql.proc.language='SQL'_ EXTERNAL_LANGUAGENULL

    • 否则,EXTERNAL_LANGUAGE就是mysql.proc.language. 但是,我们还没有外部语言,所以它总是 NULL

  • PARAMETER_STYLE

    该值始终为SQL.

  • IS_DETERMINISTIC

    YESNO,取决于例程是否定义有 DETERMINISTIC特征。

  • SQL_DATA_ACCESS

    例程的数据访问特征。该值为CONTAINS SQLNO SQLREADS SQL DATA或 之一MODIFIES SQL DATA

  • SQL_PATH

    该值始终为NULL.

  • SECURITY_TYPE

    常规SQL SECURITY特征。值为DEFINER或 之一INVOKER

  • CREATED

    创建例程的日期和时间。这是一个 TIMESTAMP值。

  • LAST_ALTERED

    上次修改例程的日期和时间。这是一个TIMESTAMP值。如果例程自创建以来未被修改,则此值与当前值相同CREATED

  • SQL_MODE

    创建或更改例程时有效的 SQL 模式,例程在该模式下执行。有关允许的值,请参阅第 5.1.10 节,“服务器 SQL 模式”

  • ROUTINE_COMMENT

    评论的文本,如果例程有的话。如果不是,则此值为空。

  • DEFINER

    子句中指定的帐户DEFINER(通常是创建例程的用户), 格式为。 'user_name'@'host_name'

  • CHARACTER_SET_CLIENT

    character_set_client创建例程时系统变量 的会话值 。

  • COLLATION_CONNECTION

    collation_connection创建例程时系统变量 的会话值 。

  • DATABASE_COLLATION

    与例程关联的数据库的排序规则。

笔记

  • 要查看有关例程的信息,您必须是例程DEFINER子句中指定的用户或有权 SELECT访问该 mysql.proc表。如果您没有例程本身的权限,则为该 ROUTINE_DEFINITION列显示的值为 NULL

  • 表中还提供了有关存储的函数返回值的信息PARAMETERS 。存储函数的返回值行可以标识为 ORDINAL_POSITION值为 0 的行。