mysql自定义函数

创建自定义函数
CREATE FUNCTION function_name(param1, param2)
RETURNS 返回值类型{STRING|INTEGER|REAL|DECIMAL}
routine_body - 函数体

CREATE FUNCTION SHOW_AVG(num1 SMALLINT UNSIGNED , num2 SMALLINT UNSIGNED)
RETURNS FLOAT(10,2) UNSIGNED
RETURN (num1 + num2)/2;

删除函数:DROP FUNCTION function_name;
查询函数:SHOW FUNCTION STATUS;
调用函数:SELECT f2(10,15);

修改分隔符:DELMITER 分隔符
例:DELIMITER //
/* 将分隔符修改为 ‘//’
当函数体内需要执行的是多条语句时,要使用BEGIN…END语句,
且当编写函数体内容的时候,需要使用 DELIMITER 关键字将分隔符先修改为别的,否则编写语句的时候写到 ‘;’ 的时候会直接执行,导致函数编写失败,
删除函数:DROP FUNCTION [IF EXISTS] function_name
*/
例:
DELIMITER //
CREATE FUNCTION ADD_USER(p_id SMALLINT,username VARCHAR(20))
RETURNS INT UNSIGNED
BEGIN
INSERT user(p_id,username) VALUES(p_id,username);
RETURN LAST_INSERT_ID();
END

原文地址:https://www.cnblogs.com/ghjbk/p/6964486.html