Copy Code code as follows:
DELIMITER $$
Use ' servant_591up ' $$
DROP PROCEDURE IF EXISTS ' Sp_move_data ' $$
CREATE PROCEDURE ' Sp_move_data ' ()
BEGIN
DECLARE v_exit INT DEFAULT 0;
DECLARE V_spid BIGINT;
DECLARE v_id BIGINT;
DECLARE i INT DEFAULT 0;
DECLARE c_table INT;
DECLARE V_uniquekey VARCHAR (57);
DECLARE V_tagcatalogid INT;
DECLARE V_rootcatalogid INT;
DECLARE V_userid BIGINT;
DECLARE V_questionid CHAR (36);
DECLARE V_correctcount INT;
DECLARE V_errorcount INT;
DECLARE V_lastiscorrect INT;
DECLARE v_lastanswerxml TEXT CHARSET UTF8;
DECLARE V_totalcosttime INT;
DECLARE v_reviews VARCHAR (UTF8) CHARSET;
DECLARE v_answerresultcategory INT;
DECLARE V_lastcosttime INT;
DECLARE V_lastanswertime DATETIME;
DECLARE V_ispublic INT;
DECLARE V_subject INT;
DECLARE V_totalcount INT;
DECLARE V_answermode SMALLINT (6);
DECLARE V_exerciseweight FLOAT;
DECLARE c_ids CURSOR for SELECT Uniquekey,tagcatalogid,rootcatalogid,userid,questionid,correctcount,errorcount, Lastiscorrect,lastanswerxml,totalcosttime,reviews,answerresultcategory,lastcosttime,lastanswertime,ispublic, Subject,totalcount,answermode,exerciseweight from ol_answerresult_56;
DECLARE CONTINUE HANDLER for not FOUND SET v_exit=1;
OPEN C_ids;
REPEAT
FETCH C_ids into V_uniquekey,v_tagcatalogid,v_rootcatalogid,v_userid,v_questionid,v_correctcount,v_errorcount,v_ Lastiscorrect,v_lastanswerxml,v_totalcosttime,v_reviews,v_answerresultcategory,v_lastcosttime,v_lastanswertime , V_ispublic,v_subject,v_totalcount,v_answermode,v_exerciseweight;
IF v_exit = 0 THEN
SET @vv_id = v_id;
SELECT MOD (v_userid,100) into c_table;
SET @SQL_CONTEXT =
CONCAT (' INSERT into New_answerresult_ ',
C_table, '
(Uniquekey,tagcatalogid,rootcatalogid,userid,questionid,correctcount,errorcount,lastiscorrect,lastanswerxml, Totalcosttime,reviews,answerresultcategory,lastcosttime,lastanswertime,ispublic,subject,totalcount,answermode, Exerciseweight) VALUES (',
', V_uniquekey, ', ', ', ', ', '
V_tagcatalogid, ', ',
V_rootcatalogid, ', ',
V_userid, ', ',
', V_questionid, ', ', ', ', ', '
V_correctcount, ', ',
V_errorcount, ', ',
V_lastiscorrect, ', ',
', V_lastanswerxml, ', ', ', ', ', '
V_totalcosttime, ', ',
", REPLACE (Ifnull (V_reviews, '), ', ', ', '), '", ', ', ', ',
V_answerresultcategory, ', ',
V_lastcosttime, ', ',
', V_lastanswertime, ', ', ', ', ', '
V_ispublic, ', ',
V_subject, ', ',
V_totalcount, ', ',
V_answermode, ', ',
V_exerciseweight, ') ');
PREPARE STMT from @SQL_CONTEXT;
EXECUTE STMT;
Deallocate PREPARE STMT;
End IF;
SET i=i+1;
#100
#IF MOD (i,100) =0 THEN COMMIT;
#END IF;
UNTIL v_exit=1
End REPEAT;
Close C_ids;
#COMMIT;
end$$
DELIMITER;