3_sp_data_migration_xwcmclassinfoview.sql 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. use trs_data_migration;
  2. DROP PROCEDURE IF EXISTS p_data_migration_xwcmclassinfoview;
  3. DELIMITER $$
  4. CREATE PROCEDURE p_data_migration_xwcmclassinfoview(IN prevClassInfoViewId BIGINT(20),
  5. IN classInfoIdOffset BIGINT(20),
  6. IN docIdOffset BIGINT(20),
  7. IN viewIdOffset BIGINT(20))
  8. BEGIN
  9. DECLARE isover INT DEFAULT 0;
  10. DECLARE f_CLASSINFOVIEWID int(11) DEFAULT NULL;
  11. DECLARE f_CLASSINFOID int(11) DEFAULT NULL;
  12. DECLARE f_METADATAID int(11) DEFAULT NULL;
  13. DECLARE f_VIEWID int(11) DEFAULT NULL;
  14. DECLARE f_CRUSER varchar(30) DEFAULT NULL;
  15. DECLARE f_CRTIME datetime DEFAULT NULL;
  16. DECLARE cur CURSOR FOR
  17. SELECT
  18. CLASSINFOVIEWID,
  19. CLASSINFOID,
  20. METADATAID,
  21. VIEWID,
  22. CRUSER,
  23. CRTIME
  24. FROM trs_data_migration.xwcmclassinfoview
  25. ORDER BY CLASSINFOVIEWID asc;
  26. DECLARE CONTINUE HANDLER FOR NOT FOUND SET isover = 1;
  27. OPEN cur;
  28. FETCH cur INTO
  29. f_CLASSINFOVIEWID,
  30. f_CLASSINFOID,
  31. f_METADATAID,
  32. f_VIEWID,
  33. f_CRUSER,
  34. f_CRTIME
  35. ;
  36. WHILE isover= 0 DO
  37. # 断点续传
  38. IF (f_CLASSINFOID > prevClassInfoId)
  39. THEN
  40. SET @CLASSINFOVIEWID = f_CLASSINFOVIEWID;
  41. SET f_CLASSINFOVIEWID = f_CLASSINFOVIEWID + prevClassInfoViewId;
  42. SET f_CLASSINFOID = f_CLASSINFOID + classInfoIdOffset;
  43. SET f_METADATAID = f_METADATAID + docIdOffset;
  44. SET f_VIEWID = f_VIEWID + viewIdOffset;
  45. insert into trs_hycloud_iip.xwcmclassinfoview
  46. (
  47. CLASSINFOVIEWID,
  48. CLASSINFOID,
  49. METADATAID,
  50. VIEWID,
  51. CRUSER,
  52. CRTIME
  53. )
  54. VALUES
  55. (
  56. f_CLASSINFOVIEWID,
  57. f_CLASSINFOID,
  58. f_METADATAID,
  59. f_VIEWID,
  60. f_CRUSER,
  61. f_CRTIME
  62. );
  63. SET @sql = trs_data_migration.build_migration_log_sql('xwcmclassinfoview', @CLASSINFOVIEWID);
  64. prepare stmt from @sql;
  65. EXECUTE stmt;
  66. deallocate prepare stmt;
  67. END IF ;
  68. FETCH cur INTO
  69. f_CLASSINFOVIEWID,
  70. f_CLASSINFOID,
  71. f_METADATAID,
  72. f_VIEWID,
  73. f_CRUSER,
  74. f_CRTIME
  75. ;
  76. END WHILE;
  77. CLOSE cur;
  78. SET @sql = trs_data_migration.build_migration_log_sql('xwcmclassinfoview', @CLASSINFOVIEWID);
  79. prepare stmt from @sql;
  80. EXECUTE stmt;
  81. deallocate prepare stmt;
  82. END $$
  83. DELIMITER ;