-- Large table data migration,Every morning1 Click to 5 and click to execute, the execution interval is 10 minutes, migrate old data to the history table.
DELIMITER $$ USE `dbx`$$ DROP PROCEDURE IF EXISTS `pro_xx`$$ CREATE PROCEDURE `pro_xx`() BEGIN DECLARE p_oalid INT DEFAULT 0; DECLARE STOP INT DEFAULT 0; DECLARE cur_oalid CURSOR FOR SELECToal.id FROM oal_xxx oal WHERE oal.`ymd`
## -- This is to determine whether the cursor has reached the end
FETCH cur_oalid INTO p_oalid;--Perform data migration
WHILE STOP <> 1 DO -- select p_id; START TRANSACTION;REPLACE INTO oal_xxx_history SELECT oal.*FROM oal_xxx oal WHERE oal.id=p_oalid ; DELETE FROM oal_xxx WHERE id=p_oalid; -- INSERT INTO t (tid) VALUES (p_tid); COMMIT;The above is the content of the MySQL stored procedure --> migrating data to the history table through cursor traversal and exception handling. For more related content, please pay attention to the PHP Chinese website (www.php. cn)!