博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql存储过程 --游标的使用 取每行记录
阅读量:4045 次
发布时间:2019-05-24

本文共 2133 字,大约阅读时间需要 7 分钟。

单字段: 

drop procedure if exists insert_cluster_commongroup;delimiter $create PROCEDURE insert_cluster_commongroup()BEGIN    DECLARE  clusterId_new  varchar(16); -- phone    -- 遍历数据结束标志    DECLARE done INT DEFAULT FALSE;    -- 游标    DECLARE cur_account CURSOR FOR select clusterId from dapmanager_cluster where clustername not in ('defaultCluster','managerService');    -- 将结束标志绑定到游标    DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;        -- 打开游标    OPEN  cur_account;         -- 遍历    read_loop: LOOP            -- 取值 取多个字段            FETCH  NEXT from cur_account INTO clusterId_new;            IF done THEN                LEAVE read_loop;             END IF;            if not exists (select group_id from dapmanager_usergroup where cluster_id = clusterId_new and group_name = 'commongroup') then        -- 你自己想做的操作		        INSERT INTO `dapmanager_usergroup` (cluster_id, group_name,note,visible_status,create_time,latest_update_time,added_by_id,upd_by_id,group_type,cred_store_id,group_src,status,delmark) VALUES (clusterId_new, 'commongroup', '', '1', '2019-07-08 16:36:51.076', '2019-07-08 16:36:51.076', '0', '0', '1', '0', '0', '0', '0');		    end if;    END LOOP;      CLOSE cur_account;END $delimiter ;call insert_cluster_commongroup();drop procedure if exists insert_cluster_commongroup;

多字段:

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 $

 

转载地址:http://jhwci.baihongyu.com/

你可能感兴趣的文章
在C++中使用Lua
查看>>
一些socket的编程经验
查看>>
socket编程中select的使用
查看>>
GitHub 万星推荐:黑客成长技术清单
查看>>
可以在线C++编译的工具站点
查看>>
关于无人驾驶的过去、现在以及未来,看这篇文章就够了!
查看>>
所谓的进步和提升,就是完成认知升级
查看>>
为什么读了很多书,却学不到什么东西?
查看>>
长文干货:如何轻松应对工作中最棘手的13种场景?
查看>>
如何用好碎片化时间,让思维更有效率?
查看>>
No.147 - LeetCode1108
查看>>
No.174 - LeetCode1305 - 合并两个搜索树
查看>>
No.175 - LeetCode1306
查看>>
No.176 - LeetCode1309
查看>>
No.182 - LeetCode1325 - C指针的魅力
查看>>
mysql:sql alter database修改数据库字符集
查看>>
mysql:sql truncate (清除表数据)
查看>>
yuv to rgb 转换失败呀。天呀。谁来帮帮我呀。
查看>>
yuv420 format
查看>>
yuv420 还原为RGB图像
查看>>