Procházet zdrojové kódy

添加贵州素材库迁移到海云的存储过程

lijihong před 6 roky
rodič
revize
fbed056b56
1 změnil soubory, kde provedl 132 přidání a 0 odebrání
  1. 132 0
      TRS.WCM.Developer/贵州项目/7_xwcmmaterial.sql

+ 132 - 0
TRS.WCM.Developer/贵州项目/7_xwcmmaterial.sql

@@ -0,0 +1,132 @@
+
+use trs_data_migration;
+
+DROP PROCEDURE IF EXISTS sp_data_migration_xwcmmaterial;
+DELIMITER $$
+CREATE PROCEDURE sp_data_migration_xwcmmaterial(IN prevAppendixId BIGINT(20),
+                                              IN appendixIdOffset BIGINT(20),
+                                              IN docIdOffset BIGINT(20))
+	BEGIN
+
+	  DECLARE isover INT DEFAULT 0;
+
+    DECLARE migr_table_name varchar(255) DEFAULT 'xwcmmaterial';
+
+    DECLARE f_APPENDIXID int(11) DEFAULT 0;
+    DECLARE f_APPDOCID int(11) DEFAULT 0;
+    DECLARE f_APPFLAG smallint(6) DEFAULT NULL;
+    DECLARE f_APPFILE varchar(255) DEFAULT 0;
+    DECLARE f_AppFromId int(11) DEFAULT '0';
+		DECLARE f_AppFromType int(11) DEFAULT '0';
+		DECLARE f_CRUSER varchar(50) DEFAULT NULL;
+    DECLARE f_CRTIME datetime DEFAULT NULL;
+
+
+  DECLARE cur CURSOR FOR
+    SELECT
+      a.MATERIALQUOTEID,
+      a.DOCID,
+      b.MATERIALTYPE,
+      b.FILENAME,
+      b.MASID,
+      b.CrUser,
+      b.CrTime
+    FROM
+      trs_data_migration.xwcmmaterialquote a
+      LEFT JOIN trs_data_migration.xwcmmaterial b ON a.MATERIALID = b.MATERIALID
+    WHERE b.MATERIALTYPE IN (1, 2)
+    ORDER BY
+      a.MATERIALQUOTEID ASC;
+
+	DECLARE CONTINUE HANDLER FOR NOT FOUND SET isover = 1;
+
+	OPEN cur;
+
+	FETCH cur INTO
+    f_APPENDIXID,
+    f_APPDOCID,
+    f_APPFLAG,
+    f_APPFILE,
+    f_AppFromId,
+    f_CRUSER,
+    f_CRTIME
+    ;
+
+
+    select concat('开始迁移 ', migr_table_name) info;
+
+
+
+    WHILE isover = 0 DO
+
+      # 断点续传
+      IF (f_APPENDIXID > prevAppendixId)
+
+        THEN
+
+            SET @APPENDIXID = f_APPENDIXID;
+            SET f_APPENDIXID = f_APPENDIXID + appendixIdOffset;
+            SET f_APPDOCID = f_APPDOCID + docIdOffset;
+						IF (f_APPFLAG = 1)
+            THEN
+              SET f_APPFLAG = 80;
+							SET f_AppFromId = 0;
+							SET f_AppFromType = 0;
+						END IF;
+						IF (f_APPFLAG = 2)
+            THEN
+              SET f_APPFLAG = 90;
+							SET f_APPFILE = f_AppFromId;
+							SET f_AppFromType = 1;
+						END IF;
+
+            insert into trs_hycloud_iip.wcmappendix
+              (
+                APPENDIXID,
+                APPDOCID,
+                APPFILE,
+                APPFILETYPE,
+                APPFLAG,
+                CRUSER,
+                CRTIME,
+                AppFromType,
+                AppFromId
+              )
+              VALUES
+                (
+                  f_APPENDIXID,
+                  f_APPDOCID,
+                  f_APPFILE,
+                  -1,
+                  f_APPFLAG,
+                  f_CRUSER,
+                  f_CRTIME,
+                  f_AppFromType,
+                  f_AppFromId
+                );
+
+          SET @log_sql = trs_data_migration.build_migration_log_sql(migr_table_name, @APPENDIXID);
+
+          prepare stmt from @log_sql;
+          EXECUTE stmt;
+          deallocate prepare stmt;
+    END IF ;
+
+		FETCH cur INTO
+    f_APPENDIXID,
+    f_APPDOCID,
+    f_APPFLAG,
+    f_APPFILE,
+    f_AppFromId,
+    f_CRUSER,
+    f_CRTIME
+    ;
+
+	END WHILE;
+
+	CLOSE cur;
+
+    select concat('完成迁移 ', migr_table_name) info;
+
+	END $$
+DELIMITER ;