MySQL 自定义函数

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_38500325/article/details/81592200

自定义函数

用户自定义函数(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;
阅读更多

没有更多推荐了,返回首页