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)

