mysql数据库怎么使用游标

 时间:2026-02-15 16:16:31

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

mysql数据库怎么使用游标

2、在当前数据库中建立一个存储过程。

DELIMITER $$

CREATE

    PROCEDURE `test`.`cj_zongfen`()

    BEGIN

                         #过程代码

    END$$

DELIMITER ;

mysql数据库怎么使用游标

3、在过程中定义3个局部变量,把游标查询成绩存入到变量中。

DELIMITER $$

CREATE

    PROCEDURE `test`.`cj_zongfen`()

    BEGIN

DECLARE yw INT;#语文成绩

DECLARE sx INT;#数学成绩

DECLARE yy INT;#英语成绩

DECLARE d INT;

    END$$

DELIMITER ;

mysql数据库怎么使用游标

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;

mysql数据库怎么使用游标

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;

mysql数据库怎么使用游标

6、保存存储过程,执行call cj_zong分();

查看数据,每一个记录总分存入到zongfen字段中。

mysql数据库怎么使用游标

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$$

mysql数据库怎么使用游标

  • 怎么使用Excel去重
  • excel去重筛选
  • 梦幻模拟战手游怎么修改名片个性签名
  • 如何用VBA替换vlookup函数运行速度慢怎么处理
  • 在excel里面怎么去重?
  • 热门搜索
    谷胱甘肽的作用 多潘立酮片是治什么的 高中生物必修二知识点总结 大麦若叶青汁的功效和作用 初一上册英语知识点 车前草的功效与作用及食用方法 石榴籽的功效与作用 鳕鱼肝油的功效与作用 人微言轻什么意思 高中历史知识点