存儲過程中用遊標

delimiter $
create PROCEDURE phoneDeal()
BEGIN
    DECLARE  id varchar(64);   -- id
    DECLARE  phone1  varchar(16); -- phone
    DECLARE  password1  varchar(32); -- 密碼
    DECLARE  name1 varchar(64);   -- id
    -- 遍歷數據結束標誌
    DECLARE done INT DEFAULT FALSE;
    -- 遊標
    DECLARE cur_account CURSOR FOR select phone,password,name from account_temp;
    -- 將結束標誌綁定到遊標
    DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
    
    -- 打開遊標
    OPEN  cur_account;     
    -- 遍歷
    read_loop: LOOP
            -- 取值 取多個字段
            FETCH  NEXT from cur_account INTO phone1,password1,name1;
            IF done THEN
                LEAVE read_loop;
             END IF;
 
        -- 你自己想做的操作
        insert into account(id,phone,password,name) value(UUID(),phone1,password1,CONCAT(name1,'的家長'));
    END LOOP;
 
 
    CLOSE cur_account;
END $

發佈了98 篇原創文章 · 獲贊 0 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章