DROP PROCEDURE IF EXISTS test;/* 删除已存在的存储*/
CREATE PROCEDURE test()
BEGIN
DECLARE done INT DEFAULT 0; /*用于判断是否结束循环*/
DECLARE cur VARCHAR(200);/*存储表名称的变量*/
DECLARE tbs_list CURSOR FOR SELECT TABLE_NAME FROM information_schema.`TABLES` WHERE TABLE_Schema = 'test';
/*定义 设置循环结束标识done值怎么改变 的逻辑*/
declare continue handler for not FOUND set done = 1; /*done = true;*/
OPEN tbs_list;
/* 循环开始 */
REPEAT
FETCH tbs_list INTO cur;
if not done THEN
INSERT INTO
-- insert into all_base(table_name) VALUES(cur);
set @tab_nam = CONCAT('select','*',' from ',cur);
PREPARE tem FROM @tab_nam;
EXECUTE tem;
-- deallocate
prepare
tem;/*处理execute结果*/
-- SELECT * FROM CONCAT(cur);
end if;
until done end repeat;
CLOSE tbs_list;
END;
DELIMITER ;
call test();