发布网友 发布时间: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条件三