标签: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