SQL
1delimiter //
2CREATE PROCEDURE test2 ()
3begin
4 declare v_done int default 0;
5 declare v_table_name VARCHAR(255);
6 declare v_cur cursor for
7 select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA = '自身のDB名に' order by TABLE_NAME
8 ;
9 declare CONTINUE HANDLER FOR SQLSTATE '02000' SET v_done = 1;
10
11 open v_cur;
12
13 repeat
14 fetch v_cur into v_table_name;
15 if not v_done then
16 select concat('SELECT * FROM ' ,v_table_name, ' INTO OUTFILE \'/tmp/', v_table_name, '.csv\' FIELDS TERMINATED BY \',\' OPTIONALLY ENCLOSED BY \'"\'') into @tes;
17 prepare stmt from @tes;
18 execute stmt;
19 deallocate prepare stmt;
20 end if;
21 until v_done
22 end repeat;
23 close v_cur;
24END;
なんか前にプロシージャ作って放置していたのがあったからちょっと直して流用。
パス名は適当に変更してください。
テスト環境はLinuxです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/11/12 03:25
2015/11/12 03:31