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 ;
  • 相关阅读:
    多线程的几种实现方法详解
    Java线程编程中isAlive()和join()的使用详解
    MyEclipse在不同编辑面间快速切换
    MyEclipse中设置代码块快捷键
    MyEclipse设置文件编码
    Oracle安装后遇到错误:The Network Adapter could not establish the connection
    Java中的Runtime类
    Java中接口的特点
    Java中三种常见的注释(注解) Annotation
    Java中的泛型
  • 原文地址:https://www.cnblogs.com/pengyin/p/6395652.html
Copyright © 2011-2022 走看看