3_sp_data_migration_wcmchannelchildindexquote.sql 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. use trs_data_migration;
  2. DROP PROCEDURE IF EXISTS sp_data_migration_wcmchannelchildindexquote;
  3. DELIMITER $$
  4. CREATE PROCEDURE sp_data_migration_wcmchannelchildindexquote(IN templateIdOffset BIGINT(20),
  5. IN siteIdOffset BIGINT(20),
  6. IN channelIdOffset BIGINT(20))
  7. BEGIN
  8. DECLARE isover INT DEFAULT 0;
  9. DECLARE migr_table_name varchar(255) DEFAULT 'wcmchannelchildindexquote';
  10. DECLARE f_TEMPLATEID int(11) DEFAULT '0';
  11. DECLARE f_FOLDERTYPE int(11) DEFAULT '0';
  12. DECLARE f_FOLDERID int(11) DEFAULT '0';
  13. DECLARE f_QUOTECHANNELID int(11) DEFAULT '0';
  14. DECLARE cur CURSOR FOR
  15. SELECT
  16. TEMPLATEID,
  17. FOLDERTYPE,
  18. FOLDERID,
  19. QUOTECHANNELID
  20. FROM trs_data_migration.wcmchannelchildindexquote;
  21. DECLARE CONTINUE HANDLER FOR NOT FOUND SET isover = 1;
  22. OPEN cur;
  23. FETCH cur INTO
  24. f_TEMPLATEID,
  25. f_FOLDERTYPE,
  26. f_FOLDERID,
  27. f_QUOTECHANNELID
  28. ;
  29. select concat('开始迁移 ', migr_table_name) info;
  30. WHILE isover= 0 DO
  31. SET f_TEMPLATEID = f_TEMPLATEID + templateIdOffset;
  32. SET f_QUOTECHANNELID = f_QUOTECHANNELID + templateIdOffset;
  33. IF (f_FOLDERTYPE = 103)
  34. THEN SET f_FOLDERID = f_FOLDERID + siteIdOffset;
  35. END IF ;
  36. IF (f_FOLDERTYPE = 101)
  37. THEN SET f_FOLDERID = f_FOLDERID + channelIdOffset;
  38. END IF ;
  39. insert into trs_hycloud_iip.wcmchannelchildindexquote
  40. (
  41. TEMPLATEID,
  42. FOLDERTYPE,
  43. FOLDERID,
  44. QUOTECHANNELID
  45. )
  46. VALUES
  47. (
  48. f_TEMPLATEID,
  49. f_FOLDERTYPE,
  50. f_FOLDERID,
  51. f_QUOTECHANNELID
  52. );
  53. FETCH cur INTO
  54. f_TEMPLATEID,
  55. f_FOLDERTYPE,
  56. f_FOLDERID,
  57. f_QUOTECHANNELID
  58. ;
  59. END WHILE;
  60. CLOSE cur;
  61. select concat('完成迁移 ', migr_table_name) info;
  62. END $$
  63. DELIMITER ;