Blogn - 记录个人历史 Ver 3.0.0
http://www.bloggern.com
首页  留言本  注册  用户名: 密码:  
我写的第一个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)
附件:
评论:

本文允许匿名评论

发表评论:(最长不得超过128KB)
验证码:


您不能对本文发表评论。