mysql 5中的store 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四个变量中去计算,最后分别得出他们的结果,十分容易
 
 
 
posted on 2006-04-10 15:35 jackyrong的世界 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/jackyrong/archive/2006/04/10/371359.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/277223.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

html frame跳转实例,HTML frame标签怎么用?frame标签的具体使用实例

本篇文章主要为大家讲述的是关于HTML frame标签的用法,还有关于frame标签中的属性介绍。还有关于frame标签的使用实例,下面就让我们一起来看看这篇文章吧首先我们先看看HTML frame标签的用法:标签定义 frameset 中的一个特定的窗口(框架)。fr…

java 实现支持向量机

https://github.com/kevin0016/java-SVM

蓝桥杯——快速排序(2018JavaB组第5题9分)

快速排序(18JavaB5,9’) 以下代码可以从数组a[]中找出第k小的元素。 它使用了类似快速排序中的分治算法,期望时间复杂度是O(N)的。 请仔细阅读分析源码,填写划线部分缺失的内容。 import java.util.Random; public class Main{pub…

关于蝴蝶背景

Runner 2006-07-04 这些链接都比较久远了,现在大概都失效了。好像有不少人都是这两只可爱的蝴蝶带来的,看来这两只蝴蝶真是我的福星啊。这里再把Flash背景的用法贴出来吧.如果直接点击链接无法显示页面,可以把链接地址复制到浏览器的地址栏里…

html 文本横竖切换,(横竖屏切换/强制横屏)CSS3 transform 怎样才能中心旋转?

现在有一个canvas,我希望在(手机和平板)竖屏时能够把它以中心作为旋转原点旋转90(强制横屏),但用了transform-origin,无论怎样设置数值都不能达到目的,是我哪里搞错了吗?附CSS代码:html, body{width: 100%;…

Echarts多任务可视化之再优化

1.上次进程可视化由svg实现,本次改用echarts框架实现。Js文件:loadxmldoc.js(用于加载xml文档)echarts.js(用来实现有向图绘制)2.思路:Echarts是定义数据对象数组data和连接对象数组links&#…

约 定

十天, 不能见面 ,不能打电话或发短信 .这是我和她的约定.十天,要让一个深爱着她的男人去尊照这样的约定去做,实在是难以接受。虽然心里有一万个不愿意,但我知道 ,我心里早以做出了选择.选择了我爱的&#x…

NIKE LEBRON 13 PERFORMANCE REVIEW

LeBron James signed a lifetime deal with Nike, cementing his already stable position as Nike’s current top endorser. That means it’s no surprise that Nike would use a person in such a position to help lead new innovative technology. But at times, Nike is…

我的专业我的梦作文计算机,我的创新我的梦作文

新时代,新变化。现在二十一世纪,人们都过上了幸福的生活,发明出来的日常用品,电子产品等等,都是根据人们创新的精神建造出来的。现在我们通过了学习,也渐渐体会到了创新的重要性。就像是在动画片中&#xf…

Ubuntu挂载新硬盘

1、加挂硬盘 Shell代码 复制代码sudo hdparm -I /dev/sdb 硬盘硬件安装后,此命令测试linux系统是否能找到挂载的未分区硬盘 2、创建分区 Shell代码 复制代码sudo fdisk /dev/sdb sda是第一块SCSI硬盘,sdb第二块,以此类推...物理分区使用a、b…

利用XML实现通用WEB报表打印 卢彦

利用XML实现通用WEB报表打印(1) 卢彦 摘要开发B/S结构的应用程序最头疼的问题可能就是报表打印了,由于只能采用浏览器来作为用户界面进行交互,所以不能精确控制客户端的打印机。而很多B/S结构的应用程序常常需要完成非常复杂的报表打印任务。而靠IE自带的…

增加新分类daily——“每天学了啥?”

如题转载于:https://www.cnblogs.com/sig3/p/3926538.html

现代计算机密码学阶段主要有两个方向,密码学技术读书笔记

关于密码学技术读书笔记一.密码学的介绍密码学(在西欧语文中,源于希腊语krypts“隐藏的”,和grphein“书写”)是研究如何隐密地传递信息的学科。在现代特别指对信息以及其传输的数学性研究,常被认为是数学和计算机科学的分支,和信…

cascade rcnn论文总结

1.bouding box regression总结: rcnn使用l2-loss 首先明确l2-loss的计算规则: L∗(f∗(P)−G∗)2,∗代表x,y,w,h 整个loss : LLxLyLwLh 也就是说,按照l2-loss的公式分别计算x,y,w,h的loss,然后把4个loss相加就得到总的…

浅谈优化SQLServer数据库服务器内存配置的策略

引文 http://demo.nbarticle.com/view/2004/8/9/view_1827.htm 农业银行总行1998年以来正式推广了新版网络版综合业务统计信息系统,该系统是基于WindowsNT4.0平台,采用客户/服务器模式,以Microsoft SQL Server为基础建立起来的大…

知道第一章计算机基础知识作业答案,大学计算机基础作业答案

大学计算机基础作业答案第一章 现代社会与计算机1. 什么事信息,其主要特征是什么?答:信息是可传递和共享的,可消除人们认知上的不确定因素,对人们的决策具有现实或潜在价值的知识。特征:普遍性、依附性、共…

Netflix推荐系统(Part two)-系统架构

Netflix在2013年公布了自己推荐系统的架构,本文主要总结和翻译自System Architectures for Personalization and Recommendation,但这并不是一篇完整的翻译文章。 Overview 首先,我们在下图中提供推荐系统的整体系统图。 该体系结构的主要组件…

母版页可以动态切换吗?

通过设置“MasterPageFile”属性可以做到,然而这个属性只能在“Page_PreInit”事件之中或之前设置。在Page_PreInit事件或之前,当前页面包含的对象还没有被生成,不能访问,所以,如果想根据当前页面上某个控件的值动态切…

httpclient 多附件上传

多附件上传实例&#xff1a; /*** 多附件上传* param host* param uri* param attachment 附件* param param body参数* return*/public String upload(String host, String uri, Map<String,String> attachment, Map<String, String> param) {logger.info("…

加拿大大学 计算机专业排名2015,加拿大大学计算机专业排名top15

加拿大大学计算机专业排名。加拿大开设计算机专业的很多高校还提供带薪实习机会&#xff0c;吸引了众多国际学子前往留学。在加拿大计算机专业优秀的大学很多。同时&#xff0c;加拿大计算机专业排名在世界上也非常的靠前&#xff0c;在加拿大有很多大学值得广大计算机热爱者选…