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)