3_sp_data_migration_wcmtemplatequote.sql 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. use trs_data_migration;
  2. DROP PROCEDURE IF EXISTS sp_data_migration_wcmtemplatequote;
  3. DELIMITER $$
  4. CREATE PROCEDURE sp_data_migration_wcmtemplatequote(IN prevTemplateQuoteId BIGINT(20),
  5. IN templateQuoteIdOffset BIGINT(20),
  6. IN templateIdOffset BIGINT(20),
  7. IN siteIdOffset BIGINT(20),
  8. IN channelIdOffset BIGINT(20))
  9. BEGIN
  10. DECLARE isover INT DEFAULT 0;
  11. DECLARE migr_table_name varchar(255) DEFAULT 'wcmtemplatequote';
  12. DECLARE f_TEMPLATEQUOTEID int(11) DEFAULT '0';
  13. DECLARE f_TEMPLATEID int(11) DEFAULT '0';
  14. DECLARE f_TEMPLATETYPE smallint(6) DEFAULT '0';
  15. DECLARE f_QUOTEDFOLDERTYPE int(11) DEFAULT '0';
  16. DECLARE f_QUOTEDFOLDERID int(11) DEFAULT '0';
  17. DECLARE f_FAMILYINDEX smallint(6) DEFAULT '0';
  18. DECLARE f_QUOTETYPE smallint(6) DEFAULT '0';
  19. DECLARE cur CURSOR FOR
  20. SELECT
  21. TEMPLATEQUOTEID,
  22. TEMPLATEID,
  23. TEMPLATETYPE,
  24. QUOTEDFOLDERTYPE,
  25. QUOTEDFOLDERID,
  26. FAMILYINDEX,
  27. QUOTETYPE
  28. FROM trs_data_migration.wcmtemplatequote
  29. ORDER BY TEMPLATEQUOTEID asc;
  30. DECLARE CONTINUE HANDLER FOR NOT FOUND SET isover = 1;
  31. OPEN cur;
  32. FETCH cur INTO
  33. f_TEMPLATEQUOTEID,
  34. f_TEMPLATEID,
  35. f_TEMPLATETYPE,
  36. f_QUOTEDFOLDERTYPE,
  37. f_QUOTEDFOLDERID,
  38. f_FAMILYINDEX,
  39. f_QUOTETYPE
  40. ;
  41. select concat('开始迁移 ', migr_table_name) info;
  42. WHILE isover= 0 DO
  43. # 断点续传
  44. IF (f_TEMPLATEQUOTEID > prevTemplateQuoteId)
  45. THEN
  46. SET @TEMPLATEQUOTEID = f_TEMPLATEQUOTEID;
  47. SET f_TEMPLATEQUOTEID = f_TEMPLATEQUOTEID + templateQuoteIdOffset;
  48. SET f_TEMPLATEID = f_TEMPLATEID + templateIdOffset;
  49. IF (f_QUOTEDFOLDERTYPE = 103)
  50. THEN SET f_QUOTEDFOLDERID = f_QUOTEDFOLDERID + siteIdOffset;
  51. END IF ;
  52. IF (f_QUOTEDFOLDERTYPE = 101)
  53. THEN SET f_QUOTEDFOLDERID = f_QUOTEDFOLDERID + channelIdOffset;
  54. END IF ;
  55. insert into trs_hycloud_iip.wcmtemplatequote
  56. (
  57. TEMPLATEQUOTEID,
  58. TEMPLATEID,
  59. TEMPLATETYPE,
  60. QUOTEDFOLDERTYPE,
  61. QUOTEDFOLDERID,
  62. FAMILYINDEX,
  63. QUOTETYPE
  64. )
  65. VALUES
  66. (
  67. f_TEMPLATEQUOTEID,
  68. f_TEMPLATEID,
  69. f_TEMPLATETYPE,
  70. f_QUOTEDFOLDERTYPE,
  71. f_QUOTEDFOLDERID,
  72. f_FAMILYINDEX,
  73. f_QUOTETYPE
  74. );
  75. SET @log_sql = trs_data_migration.build_migration_log_sql(migr_table_name, @TEMPLATEQUOTEID);
  76. prepare stmt from @log_sql;
  77. EXECUTE stmt;
  78. deallocate prepare stmt;
  79. END IF ;
  80. FETCH cur INTO
  81. f_TEMPLATEQUOTEID,
  82. f_TEMPLATEID,
  83. f_TEMPLATETYPE,
  84. f_QUOTEDFOLDERTYPE,
  85. f_QUOTEDFOLDERID,
  86. f_FAMILYINDEX,
  87. f_QUOTETYPE
  88. ;
  89. END WHILE;
  90. CLOSE cur;
  91. select concat('完成迁移 ', migr_table_name) info;
  92. END $$
  93. DELIMITER ;