语法:Create function function_name(参数列表)returns返回值类型

函数体 函数名,应合法的标识符,不应与系统关键字冲突。

一个函数应该属于某个数据库,可以使用db_name.funciton_name的形式执行当前函数所属数据库,否则为当前数据库。

参数部分,由参数名和参数类型组成。

返回值类类型.注意,一定要有return返回值语句。

创建第一个函数:
mysql> DROP FUNCTION IF EXISTS SP_FUNC_DBDH_ONE  -- 删掉已存在函数 DELIMITER && -- 定义分隔符,必须要有 ,本例为 && 可以为得数字符,例如: $$,%%,**
mysql> CREATE FUNCTION SP_FUNC_DBDH_ONE( PARA_VAR varchar(30)) -- 多个参数用,分割 参数
的类型必须是mysql列存在的类型
    -> RETURNS VARCHAR(100)                  -- 指定返回值类型,如果你不确定返回
文本长度,可以使用text
    -> BEGIN
    ->     DECLARE NAYIBU_FIR VARCHAR(30) DEFAULT 'THIS IS MY FIRST,';   -- 定义变量,设置默认值
    ->     SET NAYIBU_FIR = concat(NAYIBU_FIR,PARA_VAR);                   
    ->     RETURN NAYIBU_FIR;                                 -- 返回值
    -> END $$                                         
后面有你在前面定义的分割符号
Query OK, 0 rows affected (0.00 sec)

mysql> DELIMITER &&

调用自定义函数,输出结果如下:

mysql> SELECT SP_FUNC_DBDH_ONE('PROGRAM');
+------------------------------+
| SP_FUNC_DBDH_ONE('PROGRAM') |
+------------------------------+
| 'THIS IS MY FIRST, PROGRAM        |
+------------------------------+
1 row in set (0.00 sec)

DELIMITER $$  -- 定义分隔符,必须要有 ,本例为 && 可以为得数字符,例如: $$,%%,**

USE `topsale`$$

DROP FUNCTION IF EXISTS `func_getMaxIncentiveReward`$$ -- 删掉已存在函数 

CREATE DEFINER=`root`@`%` FUNCTION `func_getMaxIncentiveReward`(z_product_line VARCHAR(100),z_monthly VARCHAR(100),country_id INT(11),z_qtyCompletion INT(11))
RETURNS INT(11) -- 指定返回值类型,如果你不确定返回文本长度,可以使用text
BEGIN
DECLARE z_maxIncentiveReward INT DEFAULT 0; -- 定义变量,设置默认值
SELECT MAX(inp.Amt_reward) INTO z_maxIncentiveReward FROM incentive_policy inp,user_login ul WHERE inp.product_line = z_product_line
AND inp.Expiration_date = z_monthly AND inp.user_id = ul.user_login_id AND ul.party_id=country_id AND inp.class_id = 2
AND inp.qty_completion_rate <= z_qtyCompletion;
RETURN z_maxIncentiveReward; -- 返回值
END$$ DELIMITER ;

MySQL 创建自定义函数的更多相关文章

  1. mysql创建自定义函数与存储过程

    mysql创建自定义函数与存储过程 一 创建自定义函数 在使用mysql的过程中,mysql自带的函数可能不能完成我们的业务需求,这时就需要自定义函数,例如笔者在开发过程中遇到下面这个问题 mysql ...

  2. MySQL 创建自定义函数(2)

    说明:下面创建一个函数,调用自定义函数返回一个返回一个随机数. (1) 创建自定义函数

  3. MySQL 创建自定义函数(1)

    1. 创建测试自定义函数(1) CREATE DEFINER=`dbdh`@`localhost` FUNCTION `test`.`sp_function_dbdh_three`() RETURNS ...

  4. MySQL(六) —— 自定义函数

    自定义函数 用户自定义函数(user-defined function, UDF)是一种对MySQL扩展的途径,其用法与内置函数相同. 参数,返回值 创建自定义函数 CREATE FUNCTION f ...

  5. navicat与phpmyadmin做mysql的自定义函数和事件

    自定义函数和事件是mysql一个很方便的功能,navicat在5.1以上版本就支持了自定义函数和事件,phpmyadmim不清楚. 用这个是由于一些简单的事情,没有必要去做一个服务器计划使用 接下来我 ...

  6. Mysql - 存储过程/自定义函数

    在数据库操作中, 尤其是碰到一些复杂一些的系统, 不可避免的, 会用到函数/自定义函数, 或者存储过程. 实际项目中, 自定义函数和存储过程是越少越好, 因为这个东西多了, 也是一个非常难以维护的地方 ...

  7. 扩展JMeter - 创建自定义函数 - String Joiner (翻译)

    JMeter是测试自动化社区中最好的开源工具之一.它提供了所有可能的扩展,可以快速提供我们的测试脚本.为了让我们的生活更轻松,它还让我们通过实现几个接口来提出我们自己的插件. 在本文中,让我们看看如何 ...

  8. 题目要求:传入数组 内容为[['lisi','男','27'],['wangwu','男',18],['zhaoliu','男','30']],将此二维数组转化为一维数组,创建自定义函数完成

    //自定义函数 function getOne($arr){ $str = ''; //定义空的字符串,用来接收值 foreach ($arr as $key=>$value){ //循环遍历数 ...

  9. MySQL下创建序列及创建自定义函数方法介绍

    工作过程中需要将基于DB2数据库的应用以及数据迁移到MySQL中去,在原应用中,大量使用了SEQUENCE,考虑尽量减少代码的修改,决定在迁移后的应用中继续保留SEQUENCE的使用,这就要求在MyS ...

随机推荐

  1. Java-Runoob-高级教程-实例-方法:09. Java 实例 – continue 关键字用法-un

    ylbtech-Java-Runoob-高级教程-实例-方法:09. Java 实例 – continue 关键字用法 1.返回顶部 1. Java 实例 - continue 关键字用法  Java ...

  2. checked和stop()的讲解

    input:cheacked (属性选择器): checked 选中复选框 $("p").stop(ture); 代码的翻译:(参数)布尔值  p身上所有的动画都停止了 加不加tr ...

  3. vmware导出为ovf

        鼠标单击要导出的虚拟机à文件-à导出为OVFà开始导出(耗时有点长)   导出过程     导出的文件格式为:     出现此报错请点击重试 虚拟就就导入了 导入后就可以使用了 vmware1 ...

  4. java之基本数据类型

    11,java里面有没有long double类型或者比double更精度的? =========== 11,java里面有没有long double类型或者比double更精度的? java的基本数 ...

  5. [UE4]不精准射击 Random Unit Vector in Cone in Radians

  6. vue todolist 1.0

    <template> <div id="app"> <input type="text" v-model='todo' /> ...

  7. 00001 - Linux下 环境变量/etc/profile、/etc/bashrc、~/.bashrc的区别

    ①/etc/profile: 该文件登录操作系统时,为每个用户设置环境信息,当用户第一次登录时,该文件被执行.也就是说这个文件对每个shell都有效,用于获取系统的环境信息. # /etc/profi ...

  8. 使用unbound提供DNS域名解析服务

    使用unbound提供DNS域名解析服务 # 作者:Eric # 微信:loveoracle11g # 先配yum仓库 [root@server1 ~]# cd /etc/yum.repos.d/ [ ...

  9. sklearn获得某个参数的不同取值在训练集和测试集上的表现的曲线刻画

    from sklearn.svm import SVC from sklearn.datasets import make_classification import numpy as np X,y ...

  10. sas 基础(1)-关于数据格式的SAS函数

    (一)字符转换: 1)字符型转换成数值型 Numvar=INPUT(source,informat) 2)数值型转换成字符型 Chavar=PUT(source,format) (二)字符型变量的处理 ...