mysql 5中新增了视图,存储过程,触发器等新功能,其中不少资料对其都有介绍,今天看到了

其中的一个叫store function的功能,和存储过程有点象,但返回的是值哦,用法挺灵活的,故介绍之

mysql> DELIMITER ||

mysql>

CREATE FUNCTION WEIGHTED_AVERAGE (n1 INT, n2 INT, n3 INT, n4 INT)

RETURNS INT

DETERMINISTIC

BEGIN

DECLARE avg INT;

SET avg = (n1+n2+n3*2+n4*4)/8;

RETURN avg;

END ||

Query OK, 0 rows affected (0.00 sec)

mysql> SELECT WEIGHTED_AVERAGE(70,65,65,60)/G

*************************** 1. row ***************************

WEIGHTED_AVERAGE(70,65,65,60): 63

1 row in set (0.00 sec)

注意,由于MYSQL中以分号作为每行的结束,而存储过程和存储函数有很多行组成,因此,要先用delimiter ||(||可以是自

定义的字符,比如可以为|等),注意,delimiter和||之间是有空格的哦,然后在结束的地方也写上 end ||匹配就可以了,

从上面可以看到,是实现对传入的四个参数求一个算术表达式的运算结果

在下面的例子中

mysql> CREATE TABLE sfdata(mark1 INT,mark2 INT,mark3 INT,mark4 INT,name VARCHAR(50))

mysql> INSERT INTO sfdata VALUES(70,65,65,60,'Mark')|

mysql> INSERT INTO sfdata VALUES(95,94,75,50,'Pavlov')|

mysql>

CREATE FUNCTION WEIGHTED_AVERAGE2 (v1 VARCHAR(50))

RETURNS INT

DETERMINISTIC

BEGIN

DECLARE i1,i2,i3,i4,avg INT;

SELECT mark1,mark2,mark3,mark4 INTO i1,i2,i3,i4 FROM sfdata WHERE name=v1;

SET avg = (i1+i2+i3*2+i4*4)/8;

RETURN avg;

END|

Query OK, 0 rows affected (0.00 sec)

mysql> SELECT WEIGHTED_AVERAGE2('Pavlov') AS Pavlov, WEIGHTED_AVERAGE2('Mark') AS Mark/G

*************************** 1. row ***************************

Pavlov: 67

Mark: 63

1 row in set (0.00 sec)

首先建立了一个表,然后放进两条数据,然后在调用存储函数时,传入不同的人名,然后该函数自动将该人的三个数据,放到i1,i2,i3,i4四个变量中去计算,最后分别得出他们的结果,十分容易

mysql5.5 function_mysql 5中的store function相关推荐

  1. mysql 5中的store function

    mysql 5中的store function mysql 5中新增了视图,存储过程,触发器等新功能,其中不少资料对其都有介绍,今天看到了 其中的一个叫store function的功能,和存储过程有 ...

  2. SQL 中 PROCEDURE,TRIGGER,FUNCTION简单应用

    今天简单总结一下SQL中PROCEDUR,TRIGGER,FUNCTION的简单应用. 一.简单PROCEDURE 1.不带参数 create proc PROC_Test as select 字段名 ...

  3. java.util接口_Java 8中java.util.function包中的谓词和使用者接口

    java.util接口 在上一篇文章中,我写了关于Function接口的内容 ,它是java.util.package的一部分. 我还提到了Predicate接口,它是同一包的一部分,在这篇文章中,我 ...

  4. java.util接口_函数接口– Java 8中java.util.function包中的函数接口

    java.util接口 我以前写过有关功能接口及其用法的文章. 如果您正在探索要成为Java 8一部分的API,尤其是那些支持lambda表达式的API,您会发现很少的接口,例如Function,Su ...

  5. Java 8中java.util.function包中的谓词和使用者接口

    在我以前的文章中,我写了关于Function接口的内容 ,它是java.util.package的一部分. 我还提到了Predicate接口,它是同一包的一部分,在这篇文章中,我将向您展示如何使用Pr ...

  6. 函数接口– Java 8中java.util.function包中的函数接口

    我以前写过有关功能接口及其用法的文章. 如果您正在探索要成为Java 8一部分的API,尤其是那些支持lambda表达式的API,您会发现很少的接口,例如Function,Supplier,Consu ...

  7. C++中std::tr1::function和bind 组件的使用

    在C++的TR1中(Technology Report)中包含一个function模板类和bind模板函数,使用它们可以实现类似函数指针的功能,但却却比函数指针更加灵活,特别是函数指向类的非静态成员函 ...

  8. 【Elasticsearch】Elasticsearch 理解mapping中的store属性

    1.概述 转载:https://www.cnblogs.com/sanduzxcvbnm/p/12157453.html 默认情况下,对字段值进行索引以使其可搜索,但不存储它们 (store). 这意 ...

  9. dva处理_dva中使用store管理数据的异步问题

    在项目中有个具体的表单页,表单选项有一些联动,类似于 实现的目标是,表单页组件各种选择,然后在进入下一步又可以返回修改,意味着返回修改的时候必须是要保存过一遍之前用户的选择 这个肯定是保存在store ...

最新文章

  1. Android之在BaseAdapter源码中了解观察者模式
  2. 由多线程引起的map取值为null的分析
  3. Spring Cloud Stream如何消费自己生产的消息?
  4. JAVA工程师定向招聘_Java工程师面试题整理[社招篇]
  5. cocos2d-x 中文 乱码问题
  6. java 项目做多级缓存_【开源项目系列】如何基于 Spring Cache 实现多级缓存(同时整合本地缓存 Ehcache 和分布式缓存 Redis)...
  7. redis——HyperLogLog
  8. 漫画 | 让设计师崩溃的十个瞬间
  9. 王浩算法 c语言,基本遗传算法C语言实现.doc
  10. MAC - 必备软件安装与使用
  11. 指挥系统核心服务器,应急指挥中心指挥调度系统解决方案(一)
  12. 微信html5 video自动播放,【微信H5开发】audio/video标签的自动播放
  13. oracle 修改lsnrctl,Oracle中 lsnrctl命令使用总结(推荐)
  14. 基于PaddleOCR银行卡识别实现(一)
  15. 史上讲解最好的Docker教程,从入门到精通(建议收藏的教程)
  16. 微信文件删除了怎么恢复,2个实测有效的办法推荐
  17. win10如何调整计算机时间同步,Win10系统如何设置时间同步间隔?修改时间同步频率的方法...
  18. 计算机电缆yjv,zr电缆(yjv电缆与zryjv电缆区别)
  19. 食品安全大数据可视化关联分析
  20. mysql索引怎么设计,MySQL如何设计索引

热门文章

  1. CUDA学习(三十六)
  2. 北京高院宣判:微信商标案终审驳回上诉 维持原判
  3. ECMAScript基础(三)-关键字
  4. vtigerCrm 目录结构(整理中)
  5. Oracle发布Java移动开发路线图 影响近千万开发者
  6. 一篇文章入门Flask
  7. 在 C++Builder 工程里调用 DLL 函数
  8. 单调栈 、 队列学习
  9. 【深度学习再突破】让计算机一眼认出“猫”:哈佛提出新高维数据分析法
  10. React性能优化记录(不定期更新)