3_sp_data_migration_xwcmtableinfo.sql 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. DROP PROCEDURE IF EXISTS sp_data_migration_xwcmtableinfo;
  2. DELIMITER $$
  3. CREATE PROCEDURE sp_data_migration_xwcmtableinfo(IN citySuffix VARCHAR(20),
  4. IN prevTableInfoId BIGINT(20),
  5. IN tableInfoIdOffset BIGINT(20))
  6. BEGIN
  7. DECLARE isover INT DEFAULT 0;
  8. DECLARE migr_table_name varchar(255) DEFAULT 'xwcmtableinfo';
  9. DECLARE f_TABLEINFOID int(11) DEFAULT NULL;
  10. DECLARE f_TABLENAME varchar(50) DEFAULT NULL;
  11. DECLARE f_ANOTHERNAME varchar(100) DEFAULT NULL;
  12. DECLARE f_TABLEDESC varchar(200) DEFAULT NULL;
  13. DECLARE f_CRUSER varchar(30) DEFAULT NULL;
  14. DECLARE f_CRTIME datetime DEFAULT NULL;
  15. DECLARE f_OWNERTYPE int(11) DEFAULT '1';
  16. DECLARE f_OWNERID int(11) DEFAULT '4';
  17. DECLARE cur CURSOR FOR
  18. SELECT
  19. TABLEINFOID,
  20. TABLENAME,
  21. ANOTHERNAME,
  22. TABLEDESC,
  23. CRUSER,
  24. CRTIME,
  25. OWNERTYPE,
  26. OWNERID
  27. FROM xwcmtableinfo
  28. ORDER BY TABLEINFOID asc;
  29. DECLARE CONTINUE HANDLER FOR NOT FOUND SET isover = 1;
  30. OPEN cur;
  31. FETCH cur INTO
  32. f_TABLEINFOID,
  33. f_TABLENAME,
  34. f_ANOTHERNAME,
  35. f_TABLEDESC,
  36. f_CRUSER,
  37. f_CRTIME,
  38. f_OWNERTYPE,
  39. f_OWNERID
  40. ;
  41. select concat('开始迁移 ', migr_table_name) info;
  42. WHILE isover= 0 DO
  43. # 断点续传
  44. IF (f_TABLEINFOID > prevTableInfoId)
  45. THEN
  46. SET @TABLEINFOID = f_TABLEINFOID;
  47. SET f_TABLEINFOID = f_TABLEINFOID + tableInfoIdOffset;
  48. insert into trs_hycloud_iip.xwcmtableinfo
  49. (
  50. TABLEINFOID,
  51. TABLENAME,
  52. ANOTHERNAME,
  53. TABLEDESC,
  54. CRUSER,
  55. CRTIME,
  56. OWNERTYPE,
  57. OWNERID
  58. )
  59. VALUES
  60. (
  61. f_TABLEINFOID,
  62. concat(f_TABLENAME, citySuffix),
  63. concat(f_ANOTHERNAME, citySuffix),
  64. concat(f_TABLEDESC, citySuffix),
  65. f_CRUSER,
  66. f_CRTIME,
  67. f_OWNERTYPE,
  68. f_OWNERID
  69. );
  70. SET @log_sql = build_migration_log_sql(migr_table_name, @TABLEINFOID, now());
  71. prepare stmt from @log_sql;
  72. EXECUTE stmt;
  73. deallocate prepare stmt;
  74. call setOffset(migr_table_name, tableInfoIdOffset, prevTableInfoId, @TABLEINFOID);
  75. END IF ;
  76. FETCH cur INTO
  77. f_TABLEINFOID,
  78. f_TABLENAME,
  79. f_ANOTHERNAME,
  80. f_TABLEDESC,
  81. f_CRUSER,
  82. f_CRTIME,
  83. f_OWNERTYPE,
  84. f_OWNERID
  85. ;
  86. END WHILE;
  87. CLOSE cur;
  88. select concat('完成迁移 ', migr_table_name) info;
  89. END $$
  90. DELIMITER ;