可能有点麻烦 但还是想给这段MySQL加上注释 (创建一个存储过程,计算表...

发布网友 发布时间:2022-04-24 11:29

我来回答

1个回答

热心网友 时间:2022-04-07 18:04

delimiter //
create procere sp_sum(out rows int) -- 创建存储过程 定义rows为int类型的输出
-> begin   -- 语法
-> declare sno char; -- 申明 sno 变量 为char类型
-> declare found boolean defalut ture; -- 申明 found 变量 boolean类型 默认为true
-> declare cur cursor for -- 这个和下面的一行 为一句 申明游标 为查询 tb_student表的 NO字段
-> select No from tb_student;
-> declare continue handler for not found -- 如果没有查询到数据 (3行连读)
-> set found = false; -- 设置 found 和rows的值
-> set rows=0;
-> open cur; -- 排除掉上面的情况 打开游标 
-> fetch cur into sno;  --  fetch into 为游标遍历方式 类似于 while 循环
-> while found do   -- 下面4句 为 循环语句 就是直到找不到 停止循环 把当前的行数赋予遍历rows
-> set rows=rows;
-> fetch cur into sno;
-> end while;
-> close cur; -- 关闭游标

ps:select COUNT(*) from tb_student直接赋值给 rows 不就完事了
 不知道你写这个存储过程有啥子意义 就算No不为主键 可以加where条件三

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com