-- 定义存储过程
DELIMITER //
CREATE PROCEDURE alter_table () BEGIN
-- 定义拼装sql变量
DECLARE
sqlstr VARCHAR ( 12560 );
-- 定义游标记录变量
DECLARE
flag INT DEFAULT 0;
-- 定义表名记录变量
DECLARE
tableName VARCHAR ( 60 );
-- 获取满足条件的表名集合——游标
DECLARE
tableNames CURSOR FOR ( SELECT table_name FROM information_schema.TABLES WHERE table_name LIKE '表名' ORDER BY table_name );
-- 游标变量
DECLARE
CONTINUE HANDLER FOR NOT FOUND
SET flag = 1;
-- 拼装sql变量初始值
set sqlstr = '';
-- 开启游标
OPEN tableNames;
-- 取出游标里的值赋予表名记录变量
FETCH tableNames INTO tableName;
-- 开始循环
WHILE
flag <> 1 DO
-- 拼装sql
SET sqlstr = concat ( sqlstr, ' alter table ', tableName, ' modify column 列名 varchar(32);' );
-- 取出游标里的值赋予表名记录变量
FETCH tableNames INTO tableName;
END WHILE;
-- 关闭游标
CLOSE tableNames;
-- 查询拼装sql变量的值
select sqlstr;
END;
//
DELIMITER;
-- 执行存储过程
CALL alter_table ();
-- 执行完,删掉临时用的存储过程
DROP PROCEDURE alter_table;
批量修改表结构
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...