我写的第一个MySQL Store Proc
作者:左轻侯
864字节
点击:21920
回复:0
所属分类:技术随笔
创建时间:2006-12-03 21:56:19
最后修改时间:2006-12-03 21:56:19
作用是改变指定数据库中所有表的存储引擎
在MySQL 5.0下通过
在MySQL Query Brower下通过,在命令行通过,但是在phpmyadmin下面死活不行
好象phpmyadmin不支持存储过程
DELIMITER $$
DROP PROCEDURE IF EXISTS `perftest`.`ChangeDbType` $$
CREATE PROCEDURE `perftest`.`ChangeDbType` (DBNAME VARCHAR(64), TABLETYPE VARCHAR(64))
BEGIN
DECLARE TABLENAME VARCHAR(64);
DECLARE SQLSTR VARCHAR(200);
DECLARE DONE INT DEFAULT 0;
DECLARE CUR1 CURSOR FOR SELECT table_name FROM information_schema.`TABLES` T where table_schema = DBNAME;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET DONE = 1;
OPEN CUR1;
REPEAT
FETCH CUR1 INTO TABLENAME;
SET @SQLSTR = CONCAT('ALTER TABLE ', DBNAME, '.', TABLENAME, ' ENGINE = ', TABLETYPE, ';');
PREPARE STMT1 FROM @SQLSTR;
EXECUTE STMT1;
UNTIL DONE = 1 END REPEAT;
CLOSE CUR1;
END $$
DELIMITER ;
(本贴由左轻侯最后修改于2006-12-15 0:50:48)