自定义函数
用户自定义函数(user-defined function,UDF)是一种对MySQL扩展的途径,其用法与内置函数相同。
语句结构
CREATE FUNCTION function_name
RETURNS
{STRING|INTEGER|REAL|DECIMAL}
routine_body
函数体(routine_body)
- 由合法的SQL语句构成
- 可以是简单的SELECT或INSERT语句
- 复合结构则使用BEGIN...END语句
- 复合结构可以包含声明,循环,控制结构
特性
- 参数
- 返回值
- 参数,返回值类型可以任意
创建函数
//简单无参函数
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 f1(10,2);
//创建复合结构函数体
CREATE FUNCTIONS adduser(username VARCHAR(20))
RETURNS INT UNSIGNED
BEGIN
INSERT test(username) VALUES(username);
RETURN RETURN LAST_INSERT_ID();
END
//
//调用复合结构函数
SELECT adduser('max');
删除函数
DROP FUNCTION [IF EXISTS] function_name;
//删除f2();
DORP FUNCTION f2;
本文介绍了MySQL中的用户自定义函数(UDF),包括如何创建和删除函数。UDF允许用户扩展MySQL的功能,函数体可以是简单的SQL语句或复杂的BEGIN...END结构,支持带参数和无参数的函数,参数和返回值类型灵活。
1万+

被折叠的 条评论
为什么被折叠?



