mysql中的游标怎么界说,怎么利用,把游标查询的数据逐个处置。下面界说一个游标,把学生的成就加起来存入到总分的字段中。我写的经验对你进修mysql有帮忙的话,给我投票、点赞或者保藏!
方式/步调
- 1
新建一个cj表,输入数据,zongfen为0,下面用游标来计较总分,而且更新cj表的zongfen字段。
CREATE TABLE `cj` ( `cid` int(11) NOT NULL AUTO_INCREMENT, `yuwen` int(11) NOT NULL, `shuxue` int(11) NOT NULL, `yingyu` int(11) NOT NULL, `zongfen` int(11) NOT NULL, PRIMARY KEY (`cid`), KEY `zid` (`zongfen`)) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8
- 2
在当前数据库中成立一个存储过程。
DELIMITER $$
CREATE
PROCEDURE `test`.`cj_zongfen`()
BEGIN
#过程代码
END$$
DELIMITER ;
- 3
在过程中界说3个局部变量,把游标查询成就存入到变量中。
DELIMITER $$
CREATE
PROCEDURE `test`.`cj_zongfen`()
BEGIN
DECLARE yw INT;#语文成就
DECLARE sx INT;#数学成就
DECLARE yy INT;#英语成就
DECLARE d INT;
END$$
DELIMITER ;
- 4
界说nf变量,当游标查询完毕后nf的值为false,退出游标轮回。
DECLARE nf BOOLEAN DEFAULT TRUE;
DECLARE zongfen_cursor CURSOR FOR SELECT yuwen,shuxue,yingyu,cid FROM cj;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET nf=FALSE;
OPEN zongfen_cursor;
- 5
把游标当前查询的值存入到变量中,点窜表中zongfen的值。
FETCH zongfen_cursor INTO yw,sx,yy,d;
WHILE nf DO
UPDATE cj SET zongfen=yw+sx+yy WHERE cid=d;
FETCH zongfen_cursor INTO yw,sx,yy,d;
END WHILE;
- 6
保留存储过程,执行call cj_zong分();
查看数据,每一个记实总分存入到zongfen字段中。
- 7
存储过程完整代码.
CREATE DEFINER=`root`@`localhost` PROCEDURE `cj_zongfen`()
BEGIN
DECLARE yw INT;#语文成就
DECLARE sx INT;#数学成就
DECLARE yy INT;#英语成就
DECLARE d INT;
DECLARE nf BOOLEAN DEFAULT TRUE;
DECLARE zongfen_cursor CURSOR FOR SELECT yuwen,shuxue,yingyu,cid FROM cj;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET nf=FALSE;
OPEN zongfen_cursor;
FETCH zongfen_cursor INTO yw,sx,yy,d;
WHILE nf DO
UPDATE cj SET zongfen=yw+sx+yy WHERE cid=d;
FETCH zongfen_cursor INTO yw,sx,yy,d;
END WHILE;
END$$
来源:百闻(微信/QQ号:9397569),转载请保留出处和链接!
本文链接:https://www.ibaiwen.com/web/206385.html
- 上一篇: 如何用pr抠像
- 下一篇: 如何删除Windows 7开始菜单中的计算机
- 热门文章
-
WB蒙特利尔(WB Montreal)——欧美十大最差视频游戏开发商
迅猛龙(Velociraptor)——欧美史前十大死亡动物
什么是果酱猫(What Marmalade Cats)?
神奇蜘蛛侠2(The Amazing Spider-Man 2)——欧美最佳蜘蛛侠电影
希瑟(Heather)——欧美十大最佳柯南灰歌
二人梭哈
奥兹奥斯本(Ozzy Osbourne)——欧美十大高估歌手
faceu激萌怎么把瘦脸开到最大
什么是小脑前下动脉(Anterior Inferior Cerebellar Artery)?
我应该知道康涅狄格州的什么(What Should I Know About Connecticut)?
- 热评文章
- 最新评论
-
- 最近访客
-
- 站点信息
-
- 文章总数:200248
- 页面总数:9
- 分类总数:1
- 标签总数:0
- 评论总数:0
- 浏览总数:497