批量删除数据

批量删除数据
1. 游标方式删除,效率低下
2. 把最后留下的数据导出,truncate table,然后倒入数据,这种方式会对应用有影响
3. 建一个存储过程来做批量删除,或者写一个类似的shell
CREATE PROCEDURE purgeInventory(IN dt DATE)
BEGIN
    DECLARE SQLCODE INTEGER;
    loop: LOOP
        DELETE FROM (SELECT 1 FROM Inventory WHERE InvDate <= dt FETCH FIRST 1000 ROWS ONLY) AS D;
        IF SQLCODE = 100 THEN
            LEAVE loop;
        END IF;
        COMMIT;
    END LOOP loop;
END

CALL purgeInventory('2003-10-01')
请使用浏览器的分享功能分享到微信等