title : 每日深耕,勤练不缀之SQL存储过程
SQL存储过程
本次应用数据库https://github.com/cystanford/sql_heros_data.git
就是面向过程的编程语句
里面加入了流语句
有 begin end
赋值 封装
但是因为可移植性太差的原因,所以国内很少有人指出存储过程
开发维护,版本迭代太困难
更重要的是不符合高并发的数据库管理,高并发要减轻数据库的压力,采用分库分表的形式,而且对可扩展性要求很高。
练习
针对王者荣耀的英雄数据表heros表,请编写存储过程
get_sum_score,用来得到某一类型英雄的最大生命值的总和
CREATE PROCEDURE `get_sum_score`(
OUT sum_max_hp FLOAT,
IN s VARCHAR(255)
)
BEGIN
SELECT SUM(hp_max)
FROM heros
WHERE role_main =s
INTO sum_max_hp;
END
查询代码
#记得加分号
CALL get_sum_score(@sum_max_hp,'战士');
SELECT @sum_max_hp;