Mysql存储过程实践——用户常用模块表初始化数据

需求描述:为所有在职用户添加常用模块初始化数据

需求分析:

1、首先是主键ID可以直接用mysql自带的函数生成UUID,

2、机构ID是固定的,是为某一个机构初始数据

3、用户ID是查询用户表,筛选在职的用户

4、模块指定"考勤","工作总结","工作计划","请假","日志"5个常用模块,赋值为这5个模块各自 的ID即可

存储过程实现:

CREATE DEFINER=`root`@`%` PROCEDURE `initUserMostlyUsedModular`()
BEGIN
	DECLARE userId VARCHAR(50);
	DECLARE flag int(1) DEFAULT 0;
	DECLARE w_count int(10) DEFAULT 0;
	DECLARE w_index int(10) DEFAULT 0;
	DECLARE cur CURSOR for SELECT user_id from cms_user where is_del = 0;
  DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET flag=1;
	SELECT count(*) into w_count from cms_user where is_del = 0;
	open cur;
		fetch cur into userId;
		WHILE flag <> 1 DO
			SET w_index = w_index+1;
			INSERT INTO `crm_user_rel_commonly_used_modular` (`id`, `top_org_id`, `user_id`, `modular_id`, `app_id`) VALUES 
				(REPLACE(UUID(),'-',''), '149300c4126dc809ee3f7839f4ec03c1', userId, '4079858a750d41b7bd2598176a9d66f4', '1');
			INSERT INTO `crm_user_rel_commonly_used_modular` (`id`, `top_org_id`, `user_id`, `modular_id`, `app_id`) VALUES 
				(REPLACE(UUID(),'-',''), '149300c4126dc809ee3f7839f4ec03c1', userId, '08eb460fbe43424f9a04fa2b34afbb2a', '1');
			INSERT INTO `crm_user_rel_commonly_used_modular` (`id`, `top_org_id`, `user_id`, `modular_id`, `app_id`) VALUES 
				(REPLACE(UUID(),'-',''), '149300c4126dc809ee3f7839f4ec03c1', userId, 'dd6f0b7853d4461dbaf10a6da9032da3', '1');
			INSERT INTO `crm_user_rel_commonly_used_modular` (`id`, `top_org_id`, `user_id`, `modular_id`, `app_id`) VALUES 
				(REPLACE(UUID(),'-',''), '149300c4126dc809ee3f7839f4ec03c1', userId, 'f378ed626a7c4cf68805133c2e946cee', '1');
			INSERT INTO `crm_user_rel_commonly_used_modular` (`id`, `top_org_id`, `user_id`, `modular_id`, `app_id`) VALUES 
				(REPLACE(UUID(),'-',''), '149300c4126dc809ee3f7839f4ec03c1', userId, 'ac5acd5577a94710ac94df046498f218', '1');
		fetch cur into userId;
		IF w_count = w_index THEN
							set flag=1;
						ELSE
							set flag=0;
						END IF;
		END WHILE;
	close cur; 	

END

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值