自定义函数
自定义函数的两个必要条件
- 参数
- 返回值
创建自定义函数
CREATE FUNCTION function_name
RETURNS
{STRING|INTEGER|REAL|DECIMAL}
routine_body
函数体

例子
SELECT DATE_FORMAT(NOW(), '%Y年%m月%d日 %H点:%i分:%s秒')
-- 将上述句子封装成函数
CREATE FUNCTION f1() RETURNS VARCHAR(30)
RETURN DATE_FORMAT(NOW(), '%Y年%m月%d日 %H点:%i分:%s秒');
-- 调用函数
SELECT f1();
带有参数的自定义函数
-- 带有参数的函数
CREATE FUNCTION f2(num1 SMALLINT UNSIGNED, num2 SMALLINT UNSIGNED)
RETURNS FLOAT(10,2) UNSIGNED
RETURN (num1+num2)/2;
-- 调用函数
SELECT f2(1,2);
删除函数
DROP FUNCTION f2;
复合结构体的函数
-- 将语句结束符改为$$,为了防止下面的函数将;看成是语句的结束
DELIMITER $$
CREATE FUNCTION adduser(username VARCHAR(20))
RETURNS INT UNSIGNED
RETURN
BEGIN
INSERT INTO table_1(username) VALUES(username);
LAST_INSERT_ID();
END;
-- 将分隔符改回来
DELIMITER ;
网友评论