3_sp_data_migration_wcmtemplatequote.sql 3.1 KB

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