MySQL 完整的存储过程样例

#修改core_localmedia_server表结构字段
ALTER table core_localmedia_server add server_group_id CHAR(36) DEFAULT NULL COMMENT '服务器组id',add order_index int(11) DEFAULT NULL COMMENT '排序',add access_ip VARCHAR(1000) DEFAULT NULL COMMENT '允许访问网段(规则:xxx = 精确匹配|xxx - xxx= 范围(仅IP地址)|* = 部分匹配|?  = 匹配任何字符)';

#创建混合式媒体服务器组表语句
DROP TABLE IF EXISTS `core_localmedia_group`;
CREATE TABLE `core_localmedia_group` (
  `id` char(36) NOT NULL COMMENT '主键',
  `org_id` char(36) NOT NULL COMMENT '机构id',
  `group_name` VARCHAR(50) NOT NULL COMMENT '服务器组名',
  `create_user_id` char(36) DEFAULT NULL COMMENT '创建者的uuid',
  `create_fullname` VARCHAR(50) DEFAULT NULL COMMENT '创建者的全名',
  `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_user_id` char(36) DEFAULT NULL COMMENT '更新者的uuid',
  `update_fullname` VARCHAR(50) DEFAULT NULL COMMENT '更新者的全名',
  `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`id`)
) COMMENT='混合式媒体服务器组';
ALTER TABLE `core_localmedia_group` ADD INDEX idx_orgId (`org_id` ); 


##################################
DROP PROCEDURE IF EXISTS pro_init;

DELIMITER $$
-- 创建存储过程
CREATE PROCEDURE pro_init()
BEGIN
	-- 需要定义接收游标数据的变量 
	DECLARE done BOOLEAN DEFAULT 0;
	DECLARE v_orgId VARCHAR(36); -- 机构id
	
  -- 定义游标
	DECLARE cur1 CURSOR FOR SELECT orgId FROM core_localmedia_config GROUP BY orgId;
	
	DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
	
 -- 打开游标
	OPEN cur1;
 -- 开始循环
	REPEAT
		FETCH cur1 INTO v_orgId;
		
		-- 判断是否读到游标末尾 如果不加这个条件 插入的数据会增多1条
		IF done <1 OR done >1 THEN
			INSERT INTO core_localmedia_group(id,org_id,group_name,create_fullname,update_fullname) VALUES(UUID(),v_orgId,'默认媒体服务器组','系统','系统');
		END IF;
		
		UNTIL done = 1

	END REPEAT;
-- 循环结束

 -- 关闭游标
  CLOSE cur1 ;
END $$

-- 调用
call pro_init();

-- 删除
DROP PROCEDURE pro_init;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值