MySQL ALTER FUNCTION 語句


MySQL ALTER FUNCTION 語句

MySQL 提供了一組內建函式,用於執行特定任務,例如 CURDATE() 函式返回當前日期。

可以使用 ALTER FUNCTION 語句更改現有函式的特性。

語法

以下是 ALTER FUNCTION 語句的語法:

ALTER FUNCTION function_Name COMMENT 'string', LANGUAGE SQL;

其中,`function_name` 是您需要更改的函式的名稱。

示例

假設我們已經使用以下 CREATE 語句在資料庫中建立了一個名為 Emp 的表:

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

現在讓我們使用以下查詢將三條記錄插入表中:

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 ;

以下查詢更改了 getDob 函式,它向上面建立的函式新增/修改註釋:

ALTER FUNCTION getDob COMMENT 'This is a sample comment';

驗證

您可以使用 Show Create Function 語句驗證已更改的函式,如下所示:

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
   COMMENT 'This is a sample comment'
BEGIN
   declare dateOfBirth DATE;
   select DOB into dateOfBirth from test.emp where Name = emp_name;
   return dateOfBirth;
END
character_set_client: cp850
collation_connection: cp850_general_ci
   Database Collation: utf8mb4_0900_ai_ci
1 row in set (0.08 sec)
廣告