mysql 獲取某個庫下面所有表的所有資料(儲存過程)
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();