p_data_migration_wcmchannelsyn.sql 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. DROP PROCEDURE IF EXISTS p_data_migration_wcmchannelsyn;
  2. DELIMITER $$
  3. CREATE PROCEDURE p_data_migration_wcmchannelsyn(IN prevChannelSynId BIGINT(20),
  4. IN channelSynIdOffset BIGINT(20),
  5. IN channelIdOffset BIGINT(20))
  6. BEGIN
  7. DECLARE isover INT DEFAULT 0;
  8. DECLARE f_CHANNELSYNID int(11) DEFAULT NULL;
  9. DECLARE f_SRCCHANNEL int(11) DEFAULT NULL;
  10. DECLARE f_TOCHANNEL int(11) DEFAULT NULL;
  11. DECLARE f_WHERESQL varchar(500) DEFAULT NULL;
  12. DECLARE f_SDATE datetime DEFAULT NULL;
  13. DECLARE f_EDATE datetime DEFAULT NULL;
  14. DECLARE f_DOCSDATE datetime DEFAULT NULL;
  15. DECLARE f_DOCEDATE datetime DEFAULT NULL;
  16. DECLARE f_STATUSES varchar(300) DEFAULT NULL;
  17. DECLARE f_ATTRIBUTE varchar(500) DEFAULT NULL;
  18. DECLARE f_SYNTYPES varchar(50) DEFAULT 'NEW';
  19. DECLARE f_OPERAFTER int(11) DEFAULT '0';
  20. DECLARE f_CLASSINFOIDS varchar(100) DEFAULT NULL ;
  21. DECLARE cur CURSOR FOR
  22. SELECT
  23. CHANNELSYNID,
  24. SRCCHANNEL,
  25. TOCHANNEL,
  26. WHERESQL,
  27. SDATE,
  28. EDATE,
  29. DOCSDATE,
  30. DOCEDATE,
  31. STATUSES,
  32. ATTRIBUTE,
  33. SYNTYPES,
  34. OPERAFTER,
  35. CLASSINFOIDS
  36. FROM v_wcm.wcmchannelsyn
  37. ORDER BY CHANNELSYNID ASC ;
  38. DECLARE CONTINUE HANDLER FOR NOT FOUND SET isover = 1;
  39. OPEN cur;
  40. FETCH cur INTO
  41. f_CHANNELSYNID,
  42. f_SRCCHANNEL,
  43. f_TOCHANNEL,
  44. f_WHERESQL,
  45. f_SDATE,
  46. f_EDATE,
  47. f_DOCSDATE,
  48. f_DOCEDATE,
  49. f_STATUSES,
  50. f_ATTRIBUTE,
  51. f_SYNTYPES,
  52. f_OPERAFTER,
  53. f_CLASSINFOIDS
  54. ;
  55. WHILE isover= 0 DO
  56. # 断点续传
  57. IF (f_CHANNELSYNID > prevChannelSynId)
  58. THEN
  59. SET @CHANNELSYNID = f_CHANNELSYNID;
  60. SET f_CHANNELSYNID = f_CHANNELSYNID + channelSynIdOffset;
  61. SET f_CHANNELSYNID = f_CHANNELSYNID + channelSynIdOffset;
  62. SET f_SRCCHANNEL = f_SRCCHANNEL + channelIdOffset;
  63. SET f_TOCHANNEL = f_TOCHANNEL + channelIdOffset;
  64. insert into trs_hycloud_iip.wcmchannelsyn
  65. (
  66. CHANNELSYNID,
  67. SRCCHANNEL,
  68. TOCHANNEL,
  69. WHERESQL,
  70. SDATE,
  71. EDATE,
  72. DOCSDATE,
  73. DOCEDATE,
  74. STATUSES,
  75. ATTRIBUTE,
  76. SYNTYPES,
  77. OPERAFTER,
  78. CLASSINFOIDS
  79. )
  80. VALUES
  81. (
  82. f_CHANNELSYNID,
  83. f_SRCCHANNEL,
  84. f_TOCHANNEL,
  85. f_WHERESQL,
  86. f_SDATE,
  87. f_EDATE,
  88. f_DOCSDATE,
  89. f_DOCEDATE,
  90. f_STATUSES,
  91. f_ATTRIBUTE,
  92. f_SYNTYPES,
  93. f_OPERAFTER,
  94. f_CLASSINFOIDS
  95. );
  96. SELECT CONCAT('成功迁移 wcmchannelsyn[CHANNELSYNID=', @CHANNELSYNID, ']') ;
  97. END IF ;
  98. FETCH cur INTO
  99. f_CHANNELSYNID,
  100. f_SRCCHANNEL,
  101. f_TOCHANNEL,
  102. f_WHERESQL,
  103. f_SDATE,
  104. f_EDATE,
  105. f_DOCSDATE,
  106. f_DOCEDATE,
  107. f_STATUSES,
  108. f_ATTRIBUTE,
  109. f_SYNTYPES,
  110. f_OPERAFTER,
  111. f_CLASSINFOIDS
  112. ;
  113. END WHILE;
  114. CLOSE cur;
  115. SELECT '迁移 wcmchannelsyn 完毕';
  116. END $$
  117. DELIMITER ;