如何查看特定 MySQL 数据库中已存储函数的列表及其完整信息?


我们可以使用 mysql.proc 查看特定 MySQL 数据库中已存储函数的列表及其完整信息,查询如下: -

mysql> Select * from mysql.proc where db = 'query' AND type = 'FUNCTION' \G
*************************** 1. row ***************************
                  db: query
                name: factorial
                type: FUNCTION
       specific_name: factorial
            language: SQL
     sql_data_access: CONTAINS_SQL
    is_deterministic: YES
       security_type: DEFINER
          param_list: n DECIMAL(3,0)
             returns: decimal(20,0)
                body: BEGIN
DECLARE factorial DECIMAL(20,0) DEFAULT 1;
DECLARE counter DECIMAL(3,0);
SET counter = n;
      factorial_loop: REPEAT
SET factorial = factorial * counter;
SET counter = counter - 1;
UNTIL counter = 1
END REPEAT;
RETURN factorial;
END
             definer: root@localhost
             created: 2021-11-16 14:04:48
            modified: 2021-11-16 14:04:48
            sql_mode: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
             comment:
character_set_client: cp850
collation_connection: cp850_general_ci
        db_collation: latin1_swedish_ci
           body_utf8: BEGIN
DECLARE factorial DECIMAL(20,0) DEFAULT 1;
DECLARE counter DECIMAL(3,0);
SET counter = n;
      factorial_loop: REPEAT
SET factorial = factorial * counter;
SET counter = counter - 1;
UNTIL counter = 1
END REPEAT;
RETURN factorial;
END
*************************** 2. row ***************************
                  db: query
                name: Hello
                type: FUNCTION
       specific_name: Hello
            language: SQL
     sql_data_access: CONTAINS_SQL
    is_deterministic: YES
       security_type: DEFINER
          param_list: s CHAR(20)
             returns: char(50) CHARSET latin1
                body: RETURN CONCAT('Hello, ',s,'!')
             definer: root@localhost
             created: 2017-11-12 11:42:31
            modified: 2017-11-12 11:42:31
            sql_mode: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
             comment:
character_set_client: cp850
collation_connection: cp850_general_ci
        db_collation: latin1_swedish_ci
           body_utf8: RETURN CONCAT('Hello, ',s,'!')
2 rows in set (0.06 sec)

更新于: 2020 年 6 月 22 日

83 次浏览

职业生涯起航

完成课程以获得认证

开始
广告