• 记一次mysql存储过程的使用


    有两个数据库表,社团表和一个社团分类表,后来突然想加个 各个社团种类下的社团数 这样一个字段count,于是用到了存储过程

    navicat中编写存储过程可以直接点上方的函数然后选择存储过程

     1 CREATE DEFINER=`root`@`localhost` PROCEDURE `countcate`()
     2 BEGIN
     3     -- 定义需要接收游标数据的变量
     4     DECLARE cateid INT(10);
     5     -- 定义结束标志
     6     DECLARE done INT(1) DEFAULT 0;
     7     -- 定义游标
     8     DECLARE cur CURSOR FOR SELECT society_cate.id from society_cate;
     9     -- 将结束标志绑定到游标
    10     DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
    11     -- 开启游标
    12     OPEN cur;
    13         -- 开始循环
    14     loop_label: LOOP
    15          -- 提取游标的数据
    16          FETCH cur INTO cateid;
    17          -- if判断何时结束循环
    18      IF done = 1 THEN
    19            LEAVE loop_label; 
    20        END IF; 
    21          
    22          -- 操作sql语句
    23          UPDATE society_cate sc SET sc.count = (SELECT count(1) from society WHERE society.society_cate = cateid) WHERE sc.id = cateid;
    24          
    25         END LOOP loop_label;
    26 
    27 END

    学习博客:

    https://www.runoob.com/w3cnote/mysql-stored-procedure.html

    https://blog.51cto.com/13568014/2117678

  • 相关阅读:
    kill命令
    linux grep命令
    ps命令详解
    Linux chmod命令详解
    Linux netstat命令详解
    多线程同步机制的几种方法
    C++_运算符重载 总结
    malloc/free与new/delete的区别
    python发送邮件
    linux之nfs
  • 原文地址:https://www.cnblogs.com/xiaoAP/p/14466840.html
Copyright © 2020-2023  润新知