Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm thế nào chúng ta có thể xem danh sách, cùng với thông tin đầy đủ, của các chức năng được lưu trữ trong một cơ sở dữ liệu MySQL cụ thể?


Chúng ta có thể mysql.proc xem danh sách cùng với thông tin đầy đủ về các hàm được lưu trữ trong cơ sở dữ liệu MySQL cụ thể bằng truy vấn sau -

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)