美文网首页
六、MySQL自定义函数

六、MySQL自定义函数

作者: Lord丶轩莫言弃 | 来源:发表于2019-07-31 10:32 被阅读0次

    1、自定义函数简介

    • 用户自定义函数(user-defined function,UDF)是一种对MySQL扩展的途径,其用法与内置函数相同
    • 自定义函数的两个必要条件:
      • 参数:可以有零个或多个
      • 返回值:只能有一个返回值
    • 函数可以返回任意类型的值,同样可以接收这些类型的参数
    • 函数的参数和返回值之间没有必然的内在的联系
    • MySQL中规定函数的参数数量不能超过1024个
    • 具有复合结构的函数体需要使用BEGIN...END来包含

    2、创建自定义函数

    CREATE FUNCTION function_name
    RETURNS
    {STRING|INTEGER|REAL|DECIMAL}
    routine_body
    

    3、关于函数体(routine_body)

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

    4、处理函数无法创建问题

    SET GLOBAL log_bin_trust_function_creators = TRUE;
    

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

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

    6、创建带有参数的自定义函数

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

    7、删除函数

    DROP FUNCTION [IF EXISTS] function_name;
    

    相关文章

      网友评论

          本文标题:六、MySQL自定义函数

          本文链接:https://www.haomeiwen.com/subject/xwczrctx.html