CREATE DEFINER=`root`@`%` PROCEDURE `ProcessLargeTable`() BEGIN DECLARE done INT DEFAULT FALSE; DECLARE cur_id BIGINT; DECLARE max_id BIGINT DEFAULT 691148169325; -- 設定你的最大ID DECLARE last_id BIGINT DEFAULT 664476955416; -- 設定你的起始ID DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; WHILE last_id < max_id DO -- 執行你的查詢 SELECT * FROM LC_CashFlowStatementAll WHERE id > last_id ORDER BY id LIMIT 10000; -- 更新last_id為當前批次的最後一個ID(或者簡單地增加10000,但這可能不是最精確的) -- 注意:為了獲取確切的最後一個ID,你需要稍微修改查詢來獲取它 -- 這裡為了簡單起見,我們直接增加10000 SET last_id = last_id + 10000; END WHILE; END