MySQL - SHOW CREATE FUNCTION 语句



MySQL SHOW CREATE FUNCTION 语句

MySQL 提供了一组内置函数,用于执行特定任务,例如 CURDATE() 函数返回当前日期。

SHOW CREATE FUNCTION 语句显示用于创建指定函数的(字符串)查询。

语法

以下是 SHOW CREATE FUNCTION 语句的语法:

SHOW CREATE FUNCTION functionName;

其中,functionName 是您需要创建语句的函数的名称。

示例

假设我们使用 CREATE 语句在数据库中创建了一个名为 **Emp** 的表,如下所示:

CREATE TABLE Emp(
   Name VARCHAR(255), 
   DOB DATE, 
   Location VARCHAR(255)
);

现在,让我们向 Emp 表中插入一些记录:

INSERT INTO Emp VALUES 
('Amit', DATE('1970-01-08'), 'Hyderabad'),
('Sumith', DATE('1990-11-02'), 'Vishakhapatnam'),
('Sudha', DATE('1980-11-06'), 'Vijayawada');

假设我们创建了一个名为 **getDob()** 的函数,它接受员工的姓名作为参数,检索并返回 DOB 列的值:

DELIMITER //
CREATE FUNCTION test.getDob(emp_name VARCHAR(50))
   RETURNS DATE
   DETERMINISTIC
   BEGIN
      declare dateOfBirth DATE;
      select DOB into dateOfBirth from test.emp where Name = emp_name;
      return dateOfBirth;
   END//
DELIMITER ;

以下查询检索用于创建上述函数的 CREATE 语句:

SHOW CREATE FUNCTION getDob\G;

输出

以下是上述查询的输出:

*********** 1. row ***********
       Function: getDob
       sql_mode: STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
Create Function: CREATE DEFINER=`root`@`localhost` FUNCTION 
                 `getDob`(emp_name VARCHAR(50)) RETURNS date
DETERMINISTIC
BEGIN
   declare dateOfBirth DATE;
   select DOB into dateOfBirth from test.emp where Name = emp_name;
   return dateOfBirth;
END
character_set_client: utf8mb4
collation_connection: utf8mb4_0900_ai_ci
  Database Collation: utf8mb4_0900_ai_ci
1 row in set (0.00 sec)
广告
© . All rights reserved.