3_sp_data_migration_wcmchannelsyn.sql 3.4 KB

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