每次都忘記存儲過程循環咋寫,直接做個備份
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