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,不足之处,欢迎指教;

  • 相关阅读:
    Office 转 PDF & PDF 转 SWF Windows版
    Office 转 PDF & PDF 转 SWF Linux版
    MP4Box 编译 和相应命令
    CentOS VNC 安装与配置,方便进行运程桌面连接
    系统时钟&&硬件时钟
    IPtables中SNAT、DNAT和MASQUERADE的含义
    配置SNAT实现共享上网
    DNAT & SNAT
    linux应急操作
    linux-清理linux空间
  • 原文地址:https://www.cnblogs.com/JosephBee/p/4435526.html
Copyright © 2011-2022 走看看