如何查看特定 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)
广告