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)
广告
© . All rights reserved.