zoukankan      html  css  js  c++  java
  • mysql 游标

        自己案例  
        DELIMITER **  
        DROP PROCEDURE IF EXISTS SP_T6136 **  
        CREATE PROCEDURE SP_T6136 ()  
        BEGIN  
        -- 需要定义接收游标数据的变量   
             declare _f03 enum('BUY','SYS');    
             declare _f01 bigint(20);  
             declare _f02 tinyint(4) ;  
             declare _f04 datetime;  
             -- 判断游标到达最后的情况 该变量会在游标到达最后是变为1  
             DECLARE _STOP INT DEFAULT 0;  
             -- 声明游标  
             DECLARE _t6136 CURSOR FOR SELECT F01,f02,f03,f04 FROM S61.T6136 ;    
             -- 设置游标的终止条件  
             DECLARE CONTINUE HANDLER FOR NOT FOUND SET _STOP=1;  
             -- 打开游标  
             OPEN _t6136;     
          -- 提取游标里的数据  
         FETCH _t6136 INTO _f01,_f02,_f03,_f04;  
         /* 开始循环 */  
         WHILE _STOP<>1 DO   
            /*任务业务*/  
           select _f01 as a,_f02 as b,_f03 as e,_f04 as c;  
           /*游标向下走一步*/   
           FETCH _t6136 INTO _f01,_f02,_f03,_f04;  
              /* 结束循环 */  
             END WHILE;  
             -- 关闭游标  
             CLOSE _t6136;  
        END **  
        DELIMITER ;  
        CALL SP_T6136;  
          
          
        DELIMITER **  
        DROP PROCEDURE IF EXISTS SP_T6136 **  
        CREATE PROCEDURE SP_T6136 ()  
        BEGIN  
        -- 需要定义接收游标数据的变量   
             declare _f03 enum('BUY','SYS');    
             declare _f01 bigint(20);  
             declare _f02 tinyint(4) ;  
             declare _f04 datetime;  
             -- 判断游标到达最后的情况 该变量会在游标到达最后是变为True  
             DECLARE done INT DEFAULT true;  
             -- 声明游标  
             DECLARE _t6136 CURSOR FOR SELECT F01,f02,f03,f04 FROM S61.T6136 ;    
             -- 设置游标的终止条件  
             DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=false;  
              -- 打开游标  
             OPEN _t6136;     
          -- 提取游标里的数据  
         FETCH _t6136 INTO _f01,_f02,_f03,_f04;  
         /* 开始循环 */  
         WHILE done DO  
           /*任务业务*/  
           select _f01 as a,_f02 as b,_f03 as e,_f04 as c;  
           /*游标向下走一步*/   
           FETCH _t6136 INTO _f01,_f02,_f03,_f04;  
              /* 结束循环 */  
             END WHILE;  
             -- 关闭游标  
             CLOSE _t6136;  
        END **  
        DELIMITER ;  
        CALL SP_T6136;  
          
          
        DELIMITER **  
        DROP PROCEDURE IF EXISTS SP_T6136 **  
        CREATE PROCEDURE SP_T6136 ()  
        BEGIN  
        -- 需要定义接收游标数据的变量   
             DECLARE _f03 ENUM('BUY','SYS');    
             DECLARE _f01 BIGINT(20);  
             DECLARE _f02 TINYINT(4) ;  
             DECLARE _f04 DATETIME;  
             -- 判断游标到达最后的情况 该变量会在游标到达最后是变为True  
             DECLARE done INT DEFAULT FALSE;  
             -- 声明游标  
             DECLARE _t6136 CURSOR FOR SELECT F01,f02,f03,f04 FROM S61.T6136 ;    
             -- 设置游标的终止条件  
             DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=TRUE;  
              -- 打开游标  
             OPEN _t6136;   
               -- 开始循环  
                read_loop: LOOP  
           -- 提取游标里的数据  
          FETCH _t6136 INTO _f01,_f02,_f03,_f04;  
          /*判断是否结束循环*/  
          IF done THEN  
              LEAVE read_loop;  
          END IF;     
          /*任务业务*/  
          select _f01 as a,_f02 as b,_f03 as e,_f04 as c;  
                -- 关闭循环  
         END LOOP;  
             -- 关闭游标  
             CLOSE _t6136;  
        END **  
        DELIMITER ;  
        CALL SP_T6136;  
          
          
        DELIMITER **  
        DROP PROCEDURE IF EXISTS SP_T6136 **  
        CREATE PROCEDURE SP_T6136 ()  
        BEGIN  
        -- 需要定义接收游标数据的变量   
             DECLARE _f03 ENUM('BUY','SYS');    
             DECLARE _f01 BIGINT(20);  
             DECLARE _f02 TINYINT(4) ;  
             DECLARE _f04 DATETIME;  
             -- 判断游标到达最后的情况 该变量会在游标到达最后是变为True  
             DECLARE _STOP INT DEFAULT 1;  
             -- 声明游标  
             DECLARE _t6136 CURSOR FOR SELECT F01,f02,f03,f04 FROM S61.T6136 ;    
             -- 设置游标的终止条件  
             DECLARE CONTINUE HANDLER FOR NOT FOUND SET _STOP=0;  
              -- 打开游标  
             OPEN _t6136;   
               -- 开始循环  
                read_loop: LOOP  
           -- 提取游标里的数据  
          FETCH _t6136 INTO _f01,_f02,_f03,_f04;  
          /*判断是否结束循环*/  
          IF _STOP<>1 THEN  
              LEAVE read_loop;  
          END IF;     
          /*任务业务*/  
          select _f01 as a,_f02 as b,_f03 as e,_f04 as c;  
                -- 关闭循环  
         END LOOP;  
             -- 关闭游标  
             CLOSE _t6136;  
        END **  
        DELIMITER ;  
        CALL SP_T6136; 
     
  • 相关阅读:
    windows下wamp多域名的配置
    数据库设计
    面向接口编程
    面向对象的设计原则
    javascript设计模式——适配器模式
    javascript设计模式——状态模式
    javascript设计模式——装饰者模式
    javascript设计模式——中介者模式
    javascript设计模式——职责链模式
    javascript设计模式——享元模式
  • 原文地址:https://www.cnblogs.com/ak23173969/p/4180156.html
Copyright © 2011-2022 走看看