mysql数据库怎么使用游标

mysql中的游标怎么界说,怎么利用,把游标查询的数据逐个处置。下面界说一个游标,把学生的成就加起来存入到总分的字段中。我写的经验对你进修mysql有帮忙的话,给我投票、点赞或者保藏!

方式/步调

  1. 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. 2

    在当前数据库中成立一个存储过程。

    DELIMITER $$

    CREATE

        PROCEDURE `test`.`cj_zongfen`()

        BEGIN

                             #过程代码

        END$$

    DELIMITER ;

  3. 3

    在过程中界说3个局部变量,把游标查询成就存入到变量中。

    DELIMITER $$

    CREATE

        PROCEDURE `test`.`cj_zongfen`()

        BEGIN

    DECLARE yw INT;#语文成就

    DECLARE sx INT;#数学成就

    DECLARE yy INT;#英语成就

    DECLARE d INT;

        END$$

    DELIMITER ;

  4. 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. 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. 6

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

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

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

  • 发表于 2019-01-11 00:00
  • 阅读 ( 893 )
  • 分类:其他类型

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
admin
admin

0 篇文章

作家榜 »

  1. xiaonan123 189 文章
  2. 汤依妹儿 97 文章
  3. luogf229 46 文章
  4. jy02406749 45 文章
  5. 小凡 34 文章
  6. Daisy萌 32 文章
  7. 我的QQ3117863681 24 文章
  8. 华志健 23 文章

联系我们:uytrv@hotmail.com 问答工具