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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM