• <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>

    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
    • 閱讀 ( 789 )
    • 分類:其他類型

    你可能感興趣的文章

    相關問題

    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 問答工具
  • <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>
    久久久久精品国产麻豆