zoukankan      html  css  js  c++  java
  • MySql使用游标Cursor循环(While)更新数据

    #要修改的变量

    DECLARE var_ID VARCHAR(50) DEFAULT '';

    #需要修改的数据的数量

    DECLARE var_UpdateCount INT;

    #当前循环次数

    DECLARE var_WhileTimes INT;

    #定义游标

    DECLARE var_Cur CURSOR FOR

    SELECT id FROM table_Name;

    #打开游标

    OPEN var_Cur;

    #将游标的数据进行赋值

    FETCH var_Cur INTO var_ID;

    #获取循环次数

    SELECT COUNT(1) FROM table_Name;

    #开始循环

    cur_While:WHILE (var_WhileTimes <= var_UpdateCount) DO

    #更新数据

    UPDATE table_Name SET column_Name = var_ID ;

    #下一循环

    FETCH var_Cur INTO var_ID;

    #结束循环

    END WHILE;

    此为非常简单的一个示例,记录这部分代码的原因是:第一次写MySql的存储,在利用游标循环更新数据时,如果在循环中,有select语句且查询结果为null时,如果这时使用的是DECLARE CONTINUE HANDLER的方式的话,就会直接跳出循环了,但是这个方式不会,虽然在循环开始之前,又提前查询了一下需要循环的次数,但是这么一个简单的查询语句一般对效率几乎没什么影响,当然,查询游标结果集的语句本身就特别复杂的话另论;记录一下这个经验,在分享的同时,也方便以后参考;刚接触MySql,不足之处,欢迎指教;

  • 相关阅读:
    asp.net core grpc jwt身份验证
    (79)通过 .NET生成自签名证书
    chrome 命令
    asp.net core 配置证书身份验证
    OpenSSL 安装配置
    asp.net core proto
    asp.net core oss
    asp.net core skywalking
    asp.net core apollo
    图像旋转
  • 原文地址:https://www.cnblogs.com/JosephBee/p/4435526.html
Copyright © 2011-2022 走看看