MySQL基础七之自定义函数

来源:互联网 发布:java翻译软件 编辑:程序博客网 时间:2024/04/28 02:46


1.自定义函数

1.1.概念:是用户对MySQL扩展的途径,用法和内置函数相同(函数可以返回任意类型的值,也可以接受这些类型的函数,MySQL对多1024个函数)

1.2.两个必备条件:

1)参数:不一定必须

2)返回值:一定有

1.3.创建函数

1.3.1. 

      CREATE FUNCTION function_name

      RETURNS

      {STRING|INTEGER|REAL|DECIMAL}

      Routine_body

函数体可以包含:

1)函数体由合法的SQL语句构成

2)函数体可以是简单的SELECTINSERT语句构成

3)函数体如果为复合结构则用BEGIN......END语句

4)复合结构可以包含声明、循环、控制结构

1.3.2.创建简单的函数实例

1)不带参数的函数(格式化日期)

    CREATE FUNCTION f1()

    RETURNS

    VARCHAR(30)

    RETURN DATE_FORMAT(NOW(),'%Y%m%d日  %H:%i:%s:');

2)带有参数的函数(求两个数字的平均值)

   CREATE FUNCTION f2(num1 SMALLINT UNSIGNED, um2 SMALLINT UNSIGNED)  

   RETURNS

   FLOAT(10,2) UNSIGNED

   RETURN (num1+num2)/2;

3)复合结构的函数(给表插入数据同时返回最后一条记录的ID

   CREATE FUNCTION f3(username VARCHAR(20))

   RETURNS

   INT UNSIGNED

   BEGIN

   INSERT INTO table_name(username) VALUE(username) ;

   RETURN LAST_INSERT_ID();

   END

  //

分号认为SQL命令的结束,通过“DELIMITER自定义分割符号” 修改MySQL默认的分割符比如DELIMITER // 就将分割符‘;’改为‘//’。  

0 0
原创粉丝点击