

DROP PROCEDURE IF EXISTS sp_data_migration_wcmchannelchildindexquote;
DELIMITER $$
CREATE PROCEDURE sp_data_migration_wcmchannelchildindexquote(IN templateIdOffset BIGINT(20),
                                              IN siteIdOffset BIGINT(20),
                                              IN channelIdOffset BIGINT(20))
	BEGIN 
	
    DECLARE isover INT DEFAULT 0;

    DECLARE migr_table_name varchar(255) DEFAULT 'wcmchannelchildindexquote';
    DECLARE template_migr_table_name varchar(255) DEFAULT 'wcmtemplate';
    DECLARE site_migr_table_name varchar(255) DEFAULT 'wcmwebsite';
    DECLARE channel_migr_table_name varchar(255) DEFAULT 'wcmchannel';

    DECLARE  f_TEMPLATEID int(11) DEFAULT '0';
    DECLARE  f_FOLDERTYPE int(11) DEFAULT '0';
    DECLARE  f_FOLDERID int(11) DEFAULT '0';
    DECLARE  f_QUOTECHANNELID int(11) DEFAULT '0';




    DECLARE cur CURSOR FOR
		SELECT
      TEMPLATEID,
      FOLDERTYPE,
      FOLDERID,
      QUOTECHANNELID
    FROM wcmchannelchildindexquote;

	DECLARE CONTINUE HANDLER FOR NOT FOUND SET isover = 1;
	
	OPEN cur;
	
	FETCH cur INTO
    f_TEMPLATEID,
    f_FOLDERTYPE,
    f_FOLDERID,
    f_QUOTECHANNELID
    ;


    select concat('开始迁移 ', migr_table_name) info;



    WHILE isover= 0 DO

      SET @template_offset_num = ifnull((SELECT offset_num FROM data_migration_offset WHERE table_name = template_migr_table_name AND start_id < f_TEMPLATEID and  end_id >=f_TEMPLATEID), templateIdOffset);
      SET f_TEMPLATEID = f_TEMPLATEID + @template_offset_num;

      SET @quote_offset_num = ifnull((SELECT offset_num FROM data_migration_offset WHERE table_name = channel_migr_table_name AND start_id < f_QUOTECHANNELID and  end_id >=f_QUOTECHANNELID), channelIdOffset);
      SET f_QUOTECHANNELID = f_QUOTECHANNELID + @quote_offset_num;

      IF (f_FOLDERTYPE = 103)
        THEN
          SET @site_offset_num = ifnull((SELECT offset_num FROM data_migration_offset WHERE table_name = site_migr_table_name AND start_id < f_FOLDERID and  end_id >=f_FOLDERID), siteIdOffset);
          SET f_FOLDERID = f_FOLDERID + @site_offset_num;
      END IF ;

      IF (f_FOLDERTYPE = 101)
        THEN
          SET @channel_offset_num = ifnull((SELECT offset_num FROM data_migration_offset WHERE table_name = channel_migr_table_name AND start_id < f_FOLDERID and  end_id >=f_FOLDERID), channelIdOffset);
          SET f_FOLDERID = f_FOLDERID + @channel_offset_num;
      END IF ;



      insert into trs_hycloud_iip.wcmchannelchildindexquote
        (
          TEMPLATEID,
          FOLDERTYPE,
          FOLDERID,
          QUOTECHANNELID
        )
        VALUES
          (
            f_TEMPLATEID,
            f_FOLDERTYPE,
            f_FOLDERID,
            f_QUOTECHANNELID
          );


		FETCH cur INTO
      f_TEMPLATEID,
      f_FOLDERTYPE,
      f_FOLDERID,
      f_QUOTECHANNELID
    ;
		
	END WHILE;
	
	CLOSE cur;

    select concat('完成迁移 ', migr_table_name) info;


  END $$
DELIMITER ;