25 lines
598 B
SQL
25 lines
598 B
SQL
delimiter |;
|
|
CREATE PROCEDURE alter_engine (db varchar(64), newengine varchar(64))
|
|
BEGIN
|
|
|
|
declare tabname varchar(255);
|
|
declare done integer default 0;
|
|
declare c cursor for
|
|
SELECT table_name
|
|
FROM INFORMATION_SCHEMA.TABLES where table_schema = db;
|
|
declare continue handler for not found set done = 1;
|
|
|
|
open c;
|
|
|
|
repeat
|
|
fetch c into tabname;
|
|
if not done then
|
|
set @ddl = CONCAT('ALTER TABLE ', db, '.', tabname,
|
|
' engine = ', newengine);
|
|
PREPARE stmt from @ddl;
|
|
EXECUTE stmt;
|
|
end if;
|
|
until done end repeat;
|
|
close c;
|
|
END
|