3_sp_data_migration_xwcmmetaviewfieldgroup.sql 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. DROP PROCEDURE IF EXISTS sp_data_migration_xwcmmetaviewfieldgroup;
  2. DELIMITER $$
  3. CREATE PROCEDURE sp_data_migration_xwcmmetaviewfieldgroup(IN prevMetaViewFieldGroupId BIGINT(20),
  4. IN metaViewFieldGroupIdOffset BIGINT(20),
  5. IN viewIdOffset BIGINT(20))
  6. BEGIN
  7. DECLARE isover INT DEFAULT 0;
  8. DECLARE migr_table_name varchar(255) DEFAULT 'xwcmmetaviewfieldgroup';
  9. DECLARE f_METAVIEWFIELDGROUPID int(11) DEFAULT NULL;
  10. DECLARE f_GROUPNAME varchar(50) DEFAULT '0';
  11. DECLARE f_METAVIEWID int(11) DEFAULT '0';
  12. DECLARE f_PARENTID int(11) DEFAULT NULL;
  13. DECLARE f_CRUSER varchar(30) DEFAULT NULL;
  14. DECLARE f_CRTIME datetime DEFAULT NULL;
  15. DECLARE f_GROUPORDER int(11) DEFAULT '0';
  16. DECLARE cur CURSOR FOR
  17. SELECT
  18. METAVIEWFIELDGROUPID,
  19. GROUPNAME,
  20. METAVIEWID,
  21. PARENTID,
  22. CRUSER,
  23. CRTIME,
  24. GROUPORDER
  25. FROM xwcmmetaviewfieldgroup
  26. ORDER BY METAVIEWFIELDGROUPID asc;
  27. DECLARE CONTINUE HANDLER FOR NOT FOUND SET isover = 1;
  28. OPEN cur;
  29. FETCH cur INTO
  30. f_METAVIEWFIELDGROUPID,
  31. f_GROUPNAME,
  32. f_METAVIEWID,
  33. f_PARENTID,
  34. f_CRUSER,
  35. f_CRTIME,
  36. f_GROUPORDER
  37. ;
  38. select concat('开始迁移 ', migr_table_name) info;
  39. WHILE isover= 0 DO
  40. # 断点续传
  41. IF (f_METAVIEWFIELDGROUPID > prevMetaViewFieldGroupId)
  42. THEN
  43. SET @METAVIEWFIELDGROUPID = f_METAVIEWFIELDGROUPID;
  44. SET f_METAVIEWFIELDGROUPID = f_METAVIEWFIELDGROUPID + metaViewFieldGroupIdOffset;
  45. SET f_METAVIEWID = f_METAVIEWID + viewIdOffset;
  46. SET f_PARENTID = f_PARENTID + metaViewFieldGroupIdOffset;
  47. insert into trs_hycloud_iip.xwcmmetaviewfieldgroup
  48. (
  49. METAVIEWFIELDGROUPID,
  50. GROUPNAME,
  51. METAVIEWID,
  52. PARENTID,
  53. CRUSER,
  54. CRTIME,
  55. GROUPORDER
  56. )
  57. VALUES
  58. (
  59. f_METAVIEWFIELDGROUPID,
  60. f_GROUPNAME,
  61. f_METAVIEWID,
  62. f_PARENTID,
  63. f_CRUSER,
  64. f_CRTIME,
  65. f_GROUPORDER
  66. );
  67. SET @log_sql = build_migration_log_sql(migr_table_name, @METAVIEWFIELDGROUPID, now());
  68. prepare stmt from @log_sql;
  69. EXECUTE stmt;
  70. deallocate prepare stmt;
  71. END IF ;
  72. FETCH cur INTO
  73. f_METAVIEWFIELDGROUPID,
  74. f_GROUPNAME,
  75. f_METAVIEWID,
  76. f_PARENTID,
  77. f_CRUSER,
  78. f_CRTIME,
  79. f_GROUPORDER
  80. ;
  81. END WHILE;
  82. CLOSE cur;
  83. select concat('完成迁移 ', migr_table_name) info;
  84. END $$
  85. DELIMITER ;