• MySQL 存储过程中的循环操作


    使用光标执行循环操作
    DROP PROCEDURE IF EXISTS sp_opr;
    CREATE PROCEDURE sp_opr()
    BEGIN

        
    /* 定义变量一 */
        
    DECLARE _Err_Code CHAR(8DEFAULT '';
        
    /* 定义变量二 */
        
    DECLARE _Cnt INT DEFAULT 0;
        
        
    /* 光标 */
        
    DECLARE _done INT DEFAULT 0;
        
    DECLARE _Cur_Error CURSOR FOR
            
    SELECT col1,col2 FROM table WHERE rec_dd=ADDDATE(CURDATE(),-1);
        
    DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET _done = 1;
        
        
    /* 打开光标 */
        
    OPEN _Cur_Error;
            
    /* 循环执行 */
            REPEAT
              
    FETCH _Cur_Error INTO _Err_Code, _Cnt; --读取下一行
              
              
    IF NOT _done THEN
              
    -- 这里的代码被循环执行(这里可以使用上面读取的值)
              END IF;
              
            UNTIL _done 
    END REPEAT; --当_done=1时退出被循
            
        
    /*关闭光标*/
        
    CLOSE _Cur_Error;

    END;
  • 相关阅读:
    CSS 文本
    javascript:void(0)的问题
    剑指offer
    牛课--C/C++
    Linux学习--第二波
    面经-csdn
    初学Linux
    二分查找法的实现和应用汇总
    vs2013下git的使用
    win10+vs2013+Qt5.4 安装方法
  • 原文地址:https://www.cnblogs.com/chy710/p/782481.html
Copyright © 2020-2023  润新知