Mysql5.7 存儲過程 遍歷select結果集並進行其他操作


#創建存儲過程

#1.定義該存儲過程代碼結束符號:DELIMITER 定好結束符為"$$"
DELIMITER $$ 

CREATE PROCEDURE insertData ()

BEGIN

DECLARE isFlag INT DEFAULT TRUE;

DECLARE cId BIGINT DEFAULT 0;

DECLARE customer CURSOR FOR SELECT id cId FROM tableName;#聲明游標,語法:DECLARE 游標名稱 CURSOR FOR 游標值

DECLARE CONTINUE HANDLER FOR NOT FOUND SET s = FALSE;#游標中的內容循環執行完后將 isFlag 設置為flase

OPEN customer;#打開先前聲明的游標。

FETCH customer INTO cId;#取游標中的值,語法:FETCH cursor_name INTO var_name [, var_name] ...

WHILE isFlag  IS TRUE DO

INSERT INTO tableName (id,cId) VALUE(100,cId);#業務需要執行相應代碼

FETCH customer INTO cId;#取游標中的值

END WHILE;

CLOSE customer;#關閉游標

END$$#創建存儲過程結束

 

#執行存儲過程

CALL insertData ();

#刪除存儲過程

DROP PROCEDURE IF EXISTS insertData ;


免責聲明!

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



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