码迷,mamicode.com
首页 > 其他好文 > 详细

存储过程

时间:2019-11-26 19:19:40      阅读:87      评论:0      收藏:0      [点我收藏+]

标签:code   多条件   cores   har   nbsp   http   失效   变化   repeat   

存储过程是程序化的SQL,可以直接操作底层数据表,相比于面向集合的操作方式,能够实现一些更复杂的数据处理。存储过
程可以说是由SQL语句和流控制语句构成的语句集合,它和我们之前学到的函数一样,可以接收输入参数,也可以返回输出参数给调用者,返回计算结果。

技术图片

 

 Navicat直接按照上面,MYSQL需要用DELIMITER来临时定义新的结束符

技术图片

 

首先用(//)作为结束符,又在整个存储过程结束后采用了(//)作为结束符号,告诉SQL可以执行了,然后再将结束符还原成默认的(;)

技术图片

 

 CREATE PROCEDURE `get_hero_scores`( OUT max_max_hp FLOAT, OUT min_max_mp FLOAT, OUT avg_max_attack FLOAT, s VARCHAR(255) ) BEGIN SELECT MAX(hp_max), MIN(mp_max), AVG(attack_max) FROM heros WHERE role_main = s INTO max_max_hp, min_max_mp, avg_max_attack;

调用(参数为‘战士‘)

CALL get_hero_scores(@max_max_hp, @min_max_mp, @avg_max_attack, ‘战士‘);
SELECT @max_max_hp, @min_max_mp, @avg_max_attack;

运行结果

技术图片

 

流程控制

1 IF…THEN…ENDIF(条件判断语句)

2 CASE:CASE语句用于多条件的分支判断

3 LOOP、LEAVE(break)和ITERATE(continue)

4 REPEAT…UNTIL…END REPEAT (do while)

5 WHILE…DO…END WHILE (while)

优点:提前编译,减少网络传输

缺点:不能跨数据库移植,调试维护困难,版本管理困难(比如索引发生变化就会失效),不适合高并发,分库分表,对扩张性要求高

技术图片

 

 技术图片

 

 

存储过程

标签:code   多条件   cores   har   nbsp   http   失效   变化   repeat   

原文地址:https://www.cnblogs.com/autointerface/p/11937481.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!