MySQL简单操作(8)-自定义函数

用户自定义函数(user-defined function, UDF)是一种对MySQL扩展的途径,其用法与内置函数相同

创建自定义函数

1
2
3
4
CREATE FUNCTION function_name
RETURNS
{STRING|INTEGER|REAL|DECIMAL}
routine_body

函数体

  1. 由合法的SQL语句构成
  2. 可以是简单的SELECT或INSERT语句
  3. 如果为复合结构则使用BEGIN…END语句
  4. 复合结构可以包含声明,循环,控制结构

创建不带参数的自定义函数

举例:

1
2
CREATE FUNCTION f1() RETRUNS VARCHAR(30)
RETURN DATE_FORMAT(NOW(), '%Y年%m月%d日 %H点:%i分:%s秒');

创建带参数的自定义函数

1
2
3
CREATE FUNCTION f2(num1 SMALLINT UNSIGNED, num2 SMALLINT UNSIGNED)
RETURNS FLOAT(10,2) UNSIGNED
RETURN (num+num2)/2;

删除自定义函数

1
DROP FUNCTION function_name;

创建具有复合结构函数体的自定义函数

1
2
3
4
5
6
CREATE FUNCTION adduser(username VARCHAR(20))
RETURNS INT UNSIGNED
BEGIN
INSERT test(username) VALUES(username);
RETURN LAST_INSERT_ID();
END//

Powered by Hexo and Hexo-theme-hiker

Copyright © 2013 - 2021 朝着牛逼的道路一路狂奔 All Rights Reserved.

访客数 : | 访问量 :