mysql5.5 function_mysql 5中的store function
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相关推荐
- mysql 5中的store function
mysql 5中的store function mysql 5中新增了视图,存储过程,触发器等新功能,其中不少资料对其都有介绍,今天看到了 其中的一个叫store function的功能,和存储过程有 ...
- SQL 中 PROCEDURE,TRIGGER,FUNCTION简单应用
今天简单总结一下SQL中PROCEDUR,TRIGGER,FUNCTION的简单应用. 一.简单PROCEDURE 1.不带参数 create proc PROC_Test as select 字段名 ...
- java.util接口_Java 8中java.util.function包中的谓词和使用者接口
java.util接口 在上一篇文章中,我写了关于Function接口的内容 ,它是java.util.package的一部分. 我还提到了Predicate接口,它是同一包的一部分,在这篇文章中,我 ...
- java.util接口_函数接口– Java 8中java.util.function包中的函数接口
java.util接口 我以前写过有关功能接口及其用法的文章. 如果您正在探索要成为Java 8一部分的API,尤其是那些支持lambda表达式的API,您会发现很少的接口,例如Function,Su ...
- Java 8中java.util.function包中的谓词和使用者接口
在我以前的文章中,我写了关于Function接口的内容 ,它是java.util.package的一部分. 我还提到了Predicate接口,它是同一包的一部分,在这篇文章中,我将向您展示如何使用Pr ...
- 函数接口– Java 8中java.util.function包中的函数接口
我以前写过有关功能接口及其用法的文章. 如果您正在探索要成为Java 8一部分的API,尤其是那些支持lambda表达式的API,您会发现很少的接口,例如Function,Supplier,Consu ...
- C++中std::tr1::function和bind 组件的使用
在C++的TR1中(Technology Report)中包含一个function模板类和bind模板函数,使用它们可以实现类似函数指针的功能,但却却比函数指针更加灵活,特别是函数指向类的非静态成员函 ...
- 【Elasticsearch】Elasticsearch 理解mapping中的store属性
1.概述 转载:https://www.cnblogs.com/sanduzxcvbnm/p/12157453.html 默认情况下,对字段值进行索引以使其可搜索,但不存储它们 (store). 这意 ...
- dva处理_dva中使用store管理数据的异步问题
在项目中有个具体的表单页,表单选项有一些联动,类似于 实现的目标是,表单页组件各种选择,然后在进入下一步又可以返回修改,意味着返回修改的时候必须是要保存过一遍之前用户的选择 这个肯定是保存在store ...
最新文章
- Android之在BaseAdapter源码中了解观察者模式
- 由多线程引起的map取值为null的分析
- Spring Cloud Stream如何消费自己生产的消息?
- JAVA工程师定向招聘_Java工程师面试题整理[社招篇]
- cocos2d-x 中文 乱码问题
- java 项目做多级缓存_【开源项目系列】如何基于 Spring Cache 实现多级缓存(同时整合本地缓存 Ehcache 和分布式缓存 Redis)...
- redis——HyperLogLog
- 漫画 | 让设计师崩溃的十个瞬间
- 王浩算法 c语言,基本遗传算法C语言实现.doc
- MAC - 必备软件安装与使用
- 指挥系统核心服务器,应急指挥中心指挥调度系统解决方案(一)
- 微信html5 video自动播放,【微信H5开发】audio/video标签的自动播放
- oracle 修改lsnrctl,Oracle中 lsnrctl命令使用总结(推荐)
- 基于PaddleOCR银行卡识别实现(一)
- 史上讲解最好的Docker教程,从入门到精通(建议收藏的教程)
- 微信文件删除了怎么恢复,2个实测有效的办法推荐
- win10如何调整计算机时间同步,Win10系统如何设置时间同步间隔?修改时间同步频率的方法...
- 计算机电缆yjv,zr电缆(yjv电缆与zryjv电缆区别)
- 食品安全大数据可视化关联分析
- mysql索引怎么设计,MySQL如何设计索引