mysql 存储过程 - 循环嵌套

BEGIN        
    DECLARE _isexists1 INT;
    DECLARE _depid INT;
    DECLARE _userid INT;
DECLARE _done int DEFAULT 0;
    DECLARE cur_SaleDepas CURSOR FOR
    SELECT Department_ID FROM Department WHERE CORPRATION_ID=1 OR CORPRATION_ID=5 AND Department_Validity=1 AND SALE_FLAG=1;
    DECLARE cur_preSalSpecUsers CURSOR FOR 
    SELECT User_ID FROM UserT WHERE User_Name IN ('1','2');
    DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET _done = 1;
    OPEN cur_SaleDepas;
    out_loop:LOOP
    #循环销售部门    
    FETCH cur_SaleDepas INTO _depid;
        IF _done = 1 THEN
       LEAVE out_loop;
    END IF;
        OPEN cur_preSalSpecUsers;
        inner_loop:LOOP            
        FETCH cur_preSalSpecUsers INTO _userid;
        #循环特殊人员列表        
            IF _done = 1 THEN
       LEAVE inner_loop;
            END IF;
            SELECT ID INTO _isexists1 FROM T_PRESALE_PERMISSION WHERE USER_ID=_userid AND DEPT_ID=_depid LIMIT 1;
            IF(_isexists1 IS NULL) THEN
                INSERT INTO T_PRESALE_PERMISSION (USER_ID,DEPT_ID) VALUES (_userid,_depid);
            END IF;
            END LOOP inner_loop;
            CLOSE cur_preSalSpecUsers;
            SET _done=0;
    END LOOP out_loop;
    CLOSE cur_SaleDepas;
END

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值