drop PROCEDURE if exists book_read_records
;
CREATE PROCEDURE book_read_records
(In in_bid INT)
BEGIN
DECLARE i INT;
DECLARE TABLE_NAME VARCHAR(20);
DECLARE table_pre VARCHAR(20);
DECLARE sql_text VARCHAR(2000);
SET i=0;
SET TABLE_NAME=”;
SET table_pre=’record_records’;
SET sql_text=”;
WHILE i<2048 DO
SET TABLE_NAME=CONCAT(table_pre,i);
SET sql_text=CONCAT(‘REPLACE INTO temp_records.book_read_records(bid,cid,uid,distribution_channel_id,sequence,created_at,updated_at) SELECT b.bid,b.cid,b.uid,b.distribution_channel_id,b.sequence,b.created_at,b.updated_at FROM user_read_records.’,TABLE_NAME,’ b WHERE b.bid=’,in_bid,’ GROUP BY b.bid,b.uid,b.sequence’);
SELECT sql_text;
SET @sql_text=sql_text;
PREPARE stmt FROM @sql_text;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET i=i+1;
END WHILE;
END
CALL book_read_records(13922);
SELECT * from temp_records.book_read_records;