LOG表有很多,如

cin_t1_201201....cin_t1_201209

cin_t2_201201....cin_t2_201209

……

cin_t10_201201....cin_t10_201209

存储过程如下:

  1. DELIMITER $$ 
  2. DROP PROCEDURE IF EXISTS `drop201209_before`$$ 
  3. CREATE PROCEDURE `drop201209_before`() 
  4. BEGIN 
  5.  
  6. DECLARE done INT DEFAULT 0;  
  7. DECLARE l_t2012 VARCHAR(100); 
  8. DECLARE drop201209_before_cursor CURSOR FOR SELECT TABLE_NAME FROM information_schema.tables WHERE TABLE_SCHEMA='report' AND TABLE_NAME  
  9. REGEXP 'cin_.*20120[1-8]'; 
  10. DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=1
  11. OPEN drop201209_before_cursor; 
  12. drop_loop: LOOP  
  13. FETCH drop201209_before_cursor INTO l_t2012; 
  14. IF done=1 THEN 
  15. LEAVE drop_loop;  
  16. END IF;  
  17. SET @v_droptablesql=CONCAT('DROP TABLE ',l_t2012); 
  18. PREPARE droptable FROM @v_droptablesql; 
  19. EXECUTE droptable; 
  20. END LOOP drop_loop; 
  21. CLOSE drop201209_before_cursor; 
  22.  
  23. END$$ 
  24. DELIMITER ;