关于建立网站的申请,重庆快速网站推广,网站的推广,招聘页面设计mysql 5中的store function mysql 5中新增了视图#xff0c;存储过程#xff0c;触发器等新功能#xff0c;其中不少资料对其都有介绍#xff0c;今天看到了其中的一个叫store function的功能#xff0c;和存储过程有点象#xff0c;但返回的是值哦#xff0c;用法挺灵活… 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 (n1n2n3*2n4*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 namev1;
SET avg (i1i2i3*2i4*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