将一个表中的数据循环插入另外一个表中的mysql的存储过程
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | DELIMITER $$ CREATE PROCEDURE InsertDataIntoSysDictData() BEGIN -- 声明变量 DECLARE done INT DEFAULT FALSE ; DECLARE attribute_name VARCHAR (255); DECLARE apply_mode VARCHAR (255); DECLARE counter1 INT DEFAULT 0; -- 游标声明 DECLARE cur CURSOR FOR SELECT t.attribute_name FROM product_class_attribute_info t WHERE t.query_flag = '1' GROUP BY t.attribute_name; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE ; -- 打开游标 OPEN cur; read_loop: LOOP FETCH cur INTO attribute_name; IF done THEN LEAVE read_loop; END IF; SET counter1 = counter1 + 1; -- 循环插入数据到 sys_dict_data 表 INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value,dict_type,dict_attr,status,reg_user_code) VALUES (1,attribute_name,counter1, 'product_form_flag' , '01' , '0' , 'qxq' ); SET counter1 = counter1 + 1; -- 循环插入数据到 sys_dict_data 表 INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value,dict_type,dict_attr,status,reg_user_code) VALUES (2,attribute_name,counter1, 'product_form_flag' , '02' , '0' , 'qxq' ); SET counter1 = counter1 + 1; -- 循环插入数据到 sys_dict_data 表 INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value,dict_type,dict_attr,status,reg_user_code) VALUES (3,attribute_name,counter1, 'product_form_flag' , '03' , '0' , 'qxq' ); END LOOP; -- 关闭游标 CLOSE cur; END $$ DELIMITER ; |
分类:
mysql
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界