3_sp_data_migration_xwcmclassinfo.sql 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. use trs_data_migration;
  2. DROP PROCEDURE IF EXISTS sp_data_migration_xwcmclassinfo;
  3. DELIMITER $$
  4. CREATE PROCEDURE sp_data_migration_xwcmclassinfo(IN prevClassInfoId BIGINT(20),
  5. IN classInfoIdOffset BIGINT(20))
  6. BEGIN
  7. DECLARE isover INT DEFAULT 0;
  8. DECLARE f_CLASSINFOID int(11) DEFAULT NULL;
  9. DECLARE f_CLASSORDER int(11) DEFAULT NULL;
  10. DECLARE f_CNAME varchar(50) DEFAULT '0';
  11. DECLARE f_CDESC varchar(200) DEFAULT NULL;
  12. DECLARE f_PARENTID int(11) DEFAULT '0';
  13. DECLARE f_ROOTID int(11) DEFAULT '0';
  14. DECLARE f_CRUSER varchar(30) DEFAULT NULL;
  15. DECLARE f_CRTIME datetime DEFAULT NULL;
  16. DECLARE f_CCODE varchar(50) DEFAULT NULL;
  17. DECLARE cur CURSOR FOR
  18. SELECT
  19. CLASSINFOID,
  20. CLASSORDER,
  21. CNAME,
  22. CDESC,
  23. PARENTID,
  24. ROOTID,
  25. CRUSER,
  26. CRTIME,
  27. CCODE
  28. FROM trs_data_migration.xwcmclassinfo
  29. ORDER BY CLASSINFOID asc;
  30. DECLARE CONTINUE HANDLER FOR NOT FOUND SET isover = 1;
  31. OPEN cur;
  32. FETCH cur INTO
  33. f_CLASSINFOID,
  34. f_CLASSORDER,
  35. f_CNAME,
  36. f_CDESC,
  37. f_PARENTID,
  38. f_ROOTID,
  39. f_CRUSER,
  40. f_CRTIME,
  41. f_CCODE
  42. ;
  43. WHILE isover= 0 DO
  44. # 断点续传
  45. IF (f_CLASSINFOID > prevClassInfoId)
  46. THEN
  47. SET @CLASSINFOID = f_CLASSINFOID;
  48. SET f_CLASSINFOID = f_CLASSINFOID + classInfoIdOffset;
  49. SET f_PARENTID = f_PARENTID + classInfoIdOffset;
  50. IF (f_ROOTID > 0)
  51. THEN
  52. SET f_ROOTID = f_ROOTID + classInfoIdOffset;
  53. SET f_CLASSORDER = f_CLASSORDER + classInfoIdOffset;
  54. END IF ;
  55. insert into trs_hycloud_iip.xwcmclassinfo
  56. (
  57. CLASSINFOID,
  58. CLASSORDER,
  59. CNAME,
  60. CDESC,
  61. PARENTID,
  62. ROOTID,
  63. CRUSER,
  64. CRTIME,
  65. CCODE
  66. )
  67. VALUES
  68. (
  69. f_CLASSINFOID,
  70. f_CLASSORDER,
  71. f_CNAME,
  72. f_CDESC,
  73. f_PARENTID,
  74. f_ROOTID,
  75. f_CRUSER,
  76. f_CRTIME,
  77. f_CCODE
  78. );
  79. SET @sql = trs_data_migration.build_migration_log_sql('xwcmclassinfo', @CLASSINFOID);
  80. prepare stmt from @sql;
  81. EXECUTE stmt;
  82. deallocate prepare stmt;
  83. END IF ;
  84. FETCH cur INTO
  85. f_CLASSINFOID,
  86. f_CLASSORDER,
  87. f_CNAME,
  88. f_CDESC,
  89. f_PARENTID,
  90. f_ROOTID,
  91. f_CRUSER,
  92. f_CRTIME,
  93. f_CCODE
  94. ;
  95. END WHILE;
  96. CLOSE cur;
  97. SET @sql = trs_data_migration.build_migration_log_sql('xwcmclassinfo', -1);
  98. prepare stmt from @sql;
  99. EXECUTE stmt;
  100. deallocate prepare stmt;
  101. END $$
  102. DELIMITER ;