table 이름이 table_1, table_2 .. 이런식으로 되어있을 때 table 번호를 바꿔가면서 데이터 수를 얻어오는 프로시저.
일일이 select 하기 번거로워서 찾아보다가 결국 답을 얻었다. :D
DELIMITER $$
CREATE PROCEDURE documentCount (
IN p_start INT,
IN p_end INT,
IN id INT
)
BEGIN
DECLARE table_iterator INT;
DECLARE p_counter INT;
SET p_counter = 0;
SET table_iterator = p_start;
WHILE table_iterator <= p_end DO
SET @stm1 = CONCAT('SELECT count(*) INTO @tmp_counter FROM table_', table_iterator);
SET @stm2 = CONCAT(' WHERE id=', id);
SET @query = CONCAT(@stm1, @stm2);
PREPARE get_count FROM @query;
EXECUTE get_count;
SET p_counter=p_counter+@tmp_counter;
DROP PREPARE get_count;
SET table_iterator = table_iterator + 1;
END WHILE;
SELECT p_counter;
END;
$$
DELIMITER ;
참고한 사이트



