123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- DROP PROCEDURE IF EXISTS sp_data_migration_masid;
- DELIMITER $$
- CREATE PROCEDURE sp_data_migration_masid(IN prevMasId BIGINT(20),
- IN masIdOffset BIGINT(20))
- BEGIN
-
- DECLARE isover INT DEFAULT 0;
- DECLARE migr_table_name varchar(255) DEFAULT 'mas_masid';
- DECLARE f_ID int(11) DEFAULT NULL;
- DECLARE f_CREATEDTIME BIGINT(20) DEFAULT NULL;
- DECLARE f_CREATEDUSER varchar(255) DEFAULT NULL;
- DECLARE f_CREATEDUSERID int(11) DEFAULT NULL;
- DECLARE f_CREATEDUSERNICKNAME varchar(255) DEFAULT NULL;
- DECLARE f_LASTMODIFIEDTIME bigint DEFAULT NULL;
- DECLARE f_LASTMODIFIEDUSER varchar(255) DEFAULT NULL;
- DECLARE f_LASTMODIFIEDUSERID int(11) DEFAULT NULL;
- DECLARE f_srcObjType varchar(255) DEFAULT NULL;
- DECLARE cur CURSOR FOR
- SELECT
- ID,
- CREATEDTIME,
- CREATEDUSER,
- CREATEDUSERID,
- CREATEDUSERNICKNAME,
- LASTMODIFIEDTIME,
- LASTMODIFIEDUSER,
- LASTMODIFIEDUSERID,
- srcObjType
- FROM mas_masid
- ORDER BY ID asc;
- DECLARE CONTINUE HANDLER FOR NOT FOUND SET isover = 1;
- OPEN cur;
- FETCH cur INTO
- f_ID,
- f_CREATEDTIME,
- f_CREATEDUSER,
- f_CREATEDUSERID,
- f_CREATEDUSERNICKNAME,
- f_LASTMODIFIEDTIME,
- f_LASTMODIFIEDUSER,
- f_LASTMODIFIEDUSERID,
- f_srcObjType
- ;
- select concat('开始迁移 ', migr_table_name) info;
- WHILE isover= 0 DO
- # 断点续传
- IF (f_ID > prevMasId)
- THEN
- SET @ID = f_ID;
- SET f_ID = f_ID + masIdOffset;
- insert into trs_mas.mas_masid
- (
- ID,
- CREATEDTIME,
- CREATEDUSER,
- CREATEDUSERID,
- CREATEDUSERNICKNAME,
- LASTMODIFIEDTIME,
- LASTMODIFIEDUSER,
- LASTMODIFIEDUSERID,
- srcObjType
- )
- VALUES
- (
- f_ID,
- f_CREATEDTIME,
- f_CREATEDUSER,
- f_CREATEDUSERID,
- f_CREATEDUSERNICKNAME,
- f_LASTMODIFIEDTIME,
- f_LASTMODIFIEDUSER,
- f_LASTMODIFIEDUSERID,
- f_srcObjType
- );
- SET @log_sql = build_migration_log_sql(migr_table_name, @ID, now());
- prepare stmt from @log_sql;
- EXECUTE stmt;
- deallocate prepare stmt;
- call setOffset(migr_table_name, masIdOffset, prevMasId, @ID);
- END IF ;
- FETCH cur INTO
- f_ID,
- f_CREATEDTIME,
- f_CREATEDUSER,
- f_CREATEDUSERID,
- f_CREATEDUSERNICKNAME,
- f_LASTMODIFIEDTIME,
- f_LASTMODIFIEDUSER,
- f_LASTMODIFIEDUSERID,
- f_srcObjType
- ;
- END WHILE;
- CLOSE cur;
- select concat('完成迁移 ', migr_table_name) info;
- END $$
- DELIMITER ;
|