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)
廣告