zoukankan      html  css  js  c++  java
  • mysql自定函数

    一、基本语法

      delimiter 自定义符号  -- 如果函数体只有一条语句, begin和end可以省略, 同时delimiter也可以省略

      create function 函数名(形参列表) returns 返回类型  -- 注意是retruns

      begin

        函数体    -- 函数内定义的变量如:set @x = 1; 变量x为全局变量,在函数外面也可以使用

        返回值

      end

      自定义符号

      delimiter ;

    二、示例

    -- 自定义函数
    delimiter $$
    create function myfun3(ia int, ib int) returns int
    begin
        return ia + ib;
    end
    $$
    delimiter ;

    三、查看函数
      1. show function status [like 'pattern'];  -- 查看所有自定义函数, 自定义函数只能在本数据库使用。

      2. show create function 函数名;  -- 查看函数创建语句

    四、删除函数

      drop function 函数名;

    五、综合应用

    1. 使用全局变量

    -- 计算1 ~ 指定数据之间的和
    delimiter $$
    create function my_sum(x int) returns int
    begin
        set @i = 1;
        set @sum = 0;
        while @i <= x do
            set @sum = @sum + @i;
            set @i = @i + 1;
        end while;
        return @sum;
    end
    $$
    delimiter ;

     2. 使用局部变量

    -- 求1 ~ 指定数之前的和,但5的倍数不加
    delimiter $$
    create function my_sum2(x int) returns int
    begin
        declare i int default 1;
        declare sum int default 0;
        sumwhile:while i <= x do
            if i % 5 = 0 then
                set i = i + 1;
                iterate sumwhile;
            end if;
            set sum = sum + i;
            set i = i + 1;
        end while;
        return sum;
    end
    $$
    delimiter ;

    转自与:https://www.cnblogs.com/pengyin/p/6395652.html
  • 相关阅读:
    [转]给定单链表,检测是否有环。如果有环,则求出进入环的第一个节点
    二叉树的后序遍历
    求二叉树叶子节点的个数
    随笔
    两个免费转换视频的软件,实现服务器端Video2FLV
    自制Flash FLV视频播放器
    Flash取得外部WEB参数的方法
    [转]javascript小技巧,超强推荐
    c#设计模式(转)
    ffmpeg和Mencoder使用实例小全
  • 原文地址:https://www.cnblogs.com/hellohero55/p/12117235.html
Copyright © 2011-2022 走看看