mysql存储过程循环游标

每次都忘记存储过程循环咋写,直接做个备份

复制代码
CREATE DEFINER=`ycl`@`%` PROCEDURE `insertSecurityLevel`()
BEGIN
    DECLARE isFlag INT DEFAULT TRUE;
    DECLARE companyId varchar(40);
    DECLARE memberShipId varchar(40);
    DECLARE levelId varchar(40); 

        
    DECLARE customer CURSOR FOR SELECT id, member_ship_id FROM quality_platform.member_ship_institutional_unit; #声明游标,语法:DECLARE 游标名称 CURSOR FOR 游标值

    DECLARE CONTINUE HANDLER FOR NOT FOUND SET isFlag = FALSE; #游标中的内容循环执行完后将 isFlag 设置为flase

    OPEN customer; #打开先前声明的游标。

        FETCH customer INTO companyId, memberShipId;#取游标中的值,语法:FETCH cursor_name INTO var_name [, var_name] ...
        WHILE isFlag  IS TRUE DO
            
            SELECT id into levelId  from fmea.base_security_level where company_id = companyId 
            IF levelId is null THEN                  
               #sql语句
            END IF;

            


            FETCH customer INTO companyId, memberShipId;#取游标中的值
        END WHILE;
    CLOSE customer;#关闭游标

END
复制代码

 

posted @   高富贵  阅读(1415)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
点击右上角即可分享
微信分享提示